Вниз
Скачать: CL | DM;

PHP: utf8->windows1251   Найти похожие ветки 

← →
Дмитрий С ©   (2010-07-08 09:46) [0]

Может уже есть такая функция: нужно преобразовать строку из кодировки utf8 в windows1251, а символы, которые не могут быть преобразованы заменились html сущностями:
Например:
ABC索DEF -> ABCӒDEF  (1234 - это я для примера вставил).


← →
Дмитрий С ©   (2010-07-08 09:47) [1]

Вот как здесь, если посмотреть код страницы,то получилось: ABC索DEF


← →
Дмитрий С ©   (2010-07-08 10:28) [2]

Сделал так.

  // экранируем плюсы
  $value = mb_ereg_replace("\\+", "\\+", $value);
 
  // переводим в кодировку windows1251
  $value = mb_convert_encoding($value, "windows-1251", "utf-8");
 
  // заменяем U+HHHH на &#DDDDD; (в кодировке windows-1251, поэтому более быстрая функция)
  $value = preg_replace("~U\+([A-F0-9]{4})~ie", ""&#".hexdec("$1").";"", $value);
 
  // возвращаем плюсы на место
  $value = str_replace("\\+", "+", $value);



Оказывается браузер автоматически конвертирует символы юникода в сущности, если для них нет символа в кодировке страницы. Как и на этом сайте, собственно.


← →
Anatoly Podgoretsky ©   (2010-07-08 11:25) [3]


> ABC索DEF

Это не utf-8


← →
Anatoly Podgoretsky ©   (2010-07-08 11:25) [4]

Кроме того это невозможно перекодировать в 1251



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.009 c
2-1278433099
Delphist2
2010-07-06 20:18
2010.10.03
полупрозрачность


2-1278810092
defen
2010-07-11 05:01
2010.10.03
объединение приложения и сервиса


15-1278343790
AKE
2010-07-05 19:29
2010.10.03
Где можно ходить где нельзя...


2-1278823828
NewZ
2010-07-11 08:50
2010.10.03
Управление устройством.


15-1278309120
Ulugbek
2010-07-05 09:52
2010.10.03
Как удалить в самом Delphi Recent open files?




   Наверх