Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.10.03;
Скачать: 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 вся ветка

Текущий архив: 2010.10.03;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.007 c
15-1278309120
Ulugbek
2010-07-05 09:52
2010.10.03
Как удалить в самом Delphi Recent open files?


15-1278528220
Knight
2010-07-07 22:43
2010.10.03
Пакетная обработка архивов RAR


15-1278389451
Думкин
2010-07-06 08:10
2010.10.03
Где летающие скейты?


11-1224681119
dron9999
2008-10-22 17:11
2010.10.03
не могу установить компонент


15-1278398042
И. Павел
2010-07-06 10:34
2010.10.03
Порекомендуйте библиотеку для отчетов