ПРОБЛЕМА С КОДИРОВКОЙ UTF-8 В ДЕНВЕР

29 октября 2016

big_1255_oboi_matrica

Решение проблемы с кодировкой, например UTF-8, в Денвер. Если META-тег и header с кодировкой не помогли и кракозябрики остались, то это то, что вам надо.

Я уже давно не пытаюсь построить свой локальный сервер из разрозненных кусочков. Для тестирования скриптов мне вполне достаточно сборки Денвер. Правда и тут есть место некоторым мелким, но неприятным, проблемам.

Установив сборку Денвер 3, я заметил, что при попытке работать со скриптами в кодировке UTF-8, несмотря на все усилия, я получаю кракозябрики. Выбрав нужную кодировку в браузере, все становится нормально, но только до следующей загрузки страницы.

Использование META-тега, с указанием кодировки, тоже ничего не дает, например:

meta http-equiv="Content-Type" content="text/html; charset=utf-8"

Даже передача в заголовке кодировки UTF-8 через скрипт, тоже ничего не дает, например:

header("Content-Type: text/html; charset: UTF-8");

Проблема, как и всегда, не стоит и выеденного яйца, но только если знаешь что и как. Все дело в настройках сервера Apache. Дело в том, что по умолчанию в сборке Денвер 3 прописана кодировка windows-1251. Зачем это надо было делать? Не знаю. Наверное, хотели как лучше, а получилось как всегда.

В общем, идем в корневую директорию Денвера. Здесь нас интересует файл настройки Apache: \usr\local\apache\conf\httpd.conf – откройте его в том же блокноте и найдите следующие строки:

<br>#<br># Denwer: default charset.<br>#<br>AddDefaultCharset windows-1251<br>

Последнюю строку нужно закомментировать, т.е. у нас должно получиться следующее:

<br>#<br># Denwer: default charset.<br>#<br>#AddDefaultCharset windows-1251<br>

Сохраняем и перезапускаем наш сервер. Вуаля, проблема с кодировкой UTF-8 (и не только) в Денвер решена.