PHP : как настраивать mbstring - UTF8

Опытным путем выявлена конфигурация Apache+PHP для адекватной реакции на UTF-8:


# unicode support


AddDefaultCharset utf-8

   CharsetDIsable on
   CharsetRecodeMultipartForms Off


php_value       mbstring.func_overload  7
php_value       default_charset         UTF-8
php_value       mbstring.language       Russian
php_value       mbstring.internal_encoding      UTF-8
php_flag        mbstring.encoding_translation   on
php_value       mbstring.http_input     "UTF-8,KOI8-R,CP1251"
php_value       mbstring.http_output    UTF-8
php_value       mbstring.detect_order   "UTF-8,KOI8-R,CP1251"

# end

Добавить это в .htaccess.

Имейте в виду, что если вы делаете раскодирование поступающих по POST или GET данных самостоятельно (это включает получение данных с помощью веб-сервисов вроде SOAP и XML-RPC) - encoding translation включать не надо.

Создание сайтов и программирование на PHP.

Все скрипты, содержащие юникодные символы (то есть любые русские строковые литералы) следует отконвертировать в UTF-8, иначе у парсера PHP случится мягкий психоз. Нужная кодировка для скриптов - UTF-8, без BOM (byte order marker). Оный маркер превратится в браузерах в очень странный символ ?неизвестный глиф? (похожий на вопросительный знак в ромбе), который мало того что будет появляться в браузере, но и будет выводиться перед вашими заголовками (поскольку оный маркер превратится в символ, попадающий в вывод ДО того как выполнится что-бы то ни было внутри PHP-блока.

Содержать скрипты в старой восьмибайтовой кодировке, выводя их в UTF-8 - абсурд.
2013-06-01 14:52, author blursoccuff
Суперская статья ;)
2013-02-04 01:12, author Indelible
Сегодня мы работаем более чем с 10 ведущими Китайскими производителями спецтехники и готовы предложить широкий ряд различной спецтехники : бульдозеры, самосвалы, краны, экскаваторы, экскаваторы-погрузчики, фронтальные погрузчики, карьерную технику, трубоукладчики, буровые установки, самосвалы и другую технику специального назначения
Вы только посетили наш сайт, КОММЕНТИРОВАНИЕ будет доступно через несколько минут.
возможно у Вас отключен javascript, если включен - просто обновите страницу
наступна стаття:   PHP » Как настраивать mbstring - CP1251
попередня стаття:   FreeBSD » Быстрое поднятие SSL для Apache