0

Настройка WordPress. Сбивается кодировка в браузере при загрузке (перезагрузке) страницы.

Это вторая проблема с которой я столкнулся при переносе WordPress на хостинг.
Симптомы такие: при загрузке сайта (перезагрузке страницы) кодировка браузера сбивается с utf-8 на что-то вроде Western European (ISO).



При выставлении в браузере в ручную utf-8 все отображается корректно до первой перезагрузки страницы. Настройки WordPress в норме, в http-заголовках намека на другую кодировку нет,  в исходном коде <meta http-equiv=«Content-Type» content=«text/html; charset=UTF-8« />.
Проблема оказалась в настройках Apache.

Вот так выглядел раздел httpd.conf, отвечающий за кодировку:

<IfModule mod_charset.c>
CharsetPriority windows-1251 koi8-r ISO-8859-5 ibm866
CharsetDefault windows-1251
CharsetSourceEnc windows-1251
</IfModule>

Ни намека на utf-8. Добавляем в список utf-8:

<IfModule mod_charset.c>
CharsetPriority utf-8 windows-1251 koi8-r ISO-8859-5 ibm866
CharsetDefault utf-8
CharsetSourceEnc utf-8
</IfModule>

Перезапускаем Apache и проблема решена!

Также рекомендую проверить директиву default_charset в php.ini. Кодировка здесь должна быть такой же что и в блоге (по умолчанию UTF-8). Помогает решить проблемы с кодировкой элементов интерфейса в панели управления,  использующих AJAX.

Метки: WordPress, Apache