Итак, Вы установили Apache, PHP, MySQL и уже готовы работать, как вдруг выясняется, что вместо букв браузер выдаёт Вам кракозябры вроде этих.
Конечно, можно и нужно добавлять в код страницы
<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 может находиться не только в корневом каталоге веб-сервера, но и в подкаталоге конкретного сайта. В этом случае настройки файла из подкаталога перекрывают настройки файлы из «корня», т.е. являются приоритетными.
Статьи по теме: