Как исправить кодировку по умолчанию в Apache

Итак, Вы установили Apache, PHP, MySQL и уже готовы работать, как вдруг выясняется, что вместо букв браузер выдаёт Вам кракозябры вроде этих.

Как исправить кодировку по умолчанию в Apache

Конечно, можно и нужно добавлять в код страницы

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

(либо другая нужная нам кодировка вместо UTF-8) и это поможет для конкретной страницы. Однако будет правильным установить кодировку UTF-8 на Вашем веб-сервере по умолчанию.

По умолчанию Apache использует windows-1251.

Настройки кодировки в веб-сервере Apache хранятся в файле .htaccess (начинается с точки). Файл размещается в корневом каталоге веб-сервера (т.е. WWW). Если такого файла нет, его необходимо создать.

Все следующие манипуляции будем проводить под root’ом. Если Вы точно знаете, что делаете, можете сразу зайти под пользователем root. К примеру, через

sudo -s

В противном случае, перед каждой командой необходимо дописывать sudo. Итак, в моём примере корневой каталог веб-сервера лежит по адресу /var/www (у Вас путь может быть своим). Я захожу в каталог командой

cd /var/www

Далее создаем файл .htaccess. Я предпочитаю делать это командой

nano .htaccess

потому что так файл сразу открывается в текстовом редакторе nano.

Далее в этом файле прописываем строку

AddDefaultCharset utf-8

которая объясняет, что все веб-страницы необходимо выводить в кодировке UTF-8 (или той, которую Вы укажете).

Можно вообще отключить кодировку по умолчанию, добавив строку

AddDefaultCharset Off

Это может пригодиться, если у Вас на веб-сервере лежат файлы в разных кодировках. Но тогда Вам придется указывать тип кодировки в каждом документе.

Для вступления изменений в силу Apache перезагружать не надо.

Что еще нужно знать о .htaccess?

Файл .htaccess может находиться не только в корневом каталоге веб-сервера, но и в подкаталоге конкретного сайта. В этом случае настройки файла из подкаталога перекрывают настройки файлы из «корня», т.е. являются приоритетными.

Добавить комментарий

Ваш адрес email не будет опубликован.