Вниз
Скачать: 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.006 c
15-1277989076
12
2010-07-01 16:57
2010.10.03
Как Вам х.ф. Сумерки.Затмение ?


2-1278159774
alex810
2010-07-03 16:22
2010.10.03
Запрос с нечувствительностью к регистру


3-1245837856
serepun'ka
2009-06-24 14:04
2010.10.03
как вернуть иерархические данные


2-1278996425
azamatufa
2010-07-13 08:47
2010.10.03
Подскажите как правильно выводить отчет в Word


2-1278707050
demon
2010-07-10 00:24
2010.10.03
Запрос действия пользователя из потока




   Наверх