Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.10.03;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.003 c
10-1168354475
Priest
2007-01-09 17:54
2010.10.03
LoadPackage в COM сервере


15-1278272969
картман
2010-07-04 23:49
2010.10.03
видео на весь экран


2-1278866639
faiwer
2010-07-11 20:43
2010.10.03
Property & var


4-1240574544
Виталий
2009-04-24 16:02
2010.10.03
Как программно стать владельцем файла?


2-1279004324
бумбум
2010-07-13 10:58
2010.10.03
Русские буквы в PDF





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский