Как изменить кодировку Денвера

У пользователей сборки Денвер часто возникает проблема с отображением текстового содержимого сайта (текст отображается в виде кракозябр или вопросительных знаков в ромбиках): Кракозябры

Далее под словом «Денвер» будет подразумеваться сервер Apache, который входит в состав сборки.

Это может происходить по одной из следующих причин:
текст имеет кодировку, которая не соответствует указанной в документе или передаваемой сервером;
кодировка документа указано неверно;
сервер отдаёт документ, указывая неправильную кодировку.

Первые две причины рассмотрены в посте «Кодировка HTML-документа» и не касаются текущей темы, так как здесь мы будем рассматривать проблемы, связанные с кодировкой Денвера.

Денвер по умолчанию использует кодировку Windows-1251, поэтому если текст страницы закодирован в ней же и она указана в соответствующем атрибуте элемента <meta>, то проблем возникать не будет. Однако, если текст преобразовать в UTF-8, то, при открытии документа в браузере, весь он превратится в стаю кракозябр и даже не поможет «метауказание» кодировки.

Решить вышеописанную проблему просто — нужно изменить кодировку, которую отдаёт сервер, на UTF-8. Это можно сделать двумя путями:
изменить кодировку сервера;
изменить кодировку сайта.

Меняем кодировку сервера

Чтобы изменить кодировку сервера, нужно отредактировать файл httpd.conf, который находится в папке Денвера по адресу /usr/local/apache/conf (открыть его можно с помощью Блокнота или другого текстового редактора). В этом файле, в 498 строке, будет следующая запись: AddDefaultCharset windows-1251 Кодировка Денвера по умолчанию В этой записи, вместо Windows-1251, нужно указать UTF-8 (регистр значения не имеет) и, сохранив изменения, перезапустить сервер (обязательно).

Меняем кодировку сайта

Чтобы изменить кодировку определённого сайта, понадобиться файл .htaccess. В нём нужно прописать такую же строку, как и в примере выше (AddDefaultCharset UTF-8), а затем поместить его в корень проекта.

Подробнее об этом способе и о файле .htaccess рассказано в посте «Кодировка HTML-документа».