Браузер, открывая страницу, обычно берёт информацию о кодировке страницы либо из ответа веб-сервера, либо из информации на самой странице.
Поэтому, если у вас возникли какие-либо проблемы с отображением кодировок вашего сайта, следует проверить, какой заголовок отдаёт веб-сервер, включена ли в него информация о кодировке по умолчанию, а также проверить мета-теги страниц сайта на наличие в них информации о кодировке.
Проверить заголовок веб-сервера можно, воспользовавшись онлайн-сервисами, например этим, либо, в случае с linux, командой wget
:
wget http://example.com -S -O /dev/null
Вот пример ответа веб-сервера:
HTTP/1.1 200 OK Server: web-server Date: Tue, 20 Dec 2011 18:50:15 GMT Content-Type: text/html; charset=utf-8 Connection: close Cache-Control: max-age=300 Expires: Tue, 20 Dec 2011 18:55:17 GMT
Обратите внимание на слово charset
. Оно-то и сообщает браузеру, что на данном сервере используется по умолчанию кодировка utf-8
.
Если такого слова в ответе нет, заставить веб-сервер сообщать кодировку можно директивой в файле .htaccess
, добавив в него строку:
AddDefaultCharset utf-8
В данном случае веб-сервер станет сообщать о кодировке utf-8
. Другая весьма распространённая у нас кодировка — cp1251
.
Второй способ сообщить браузеру о кодировке страницы — прописать информацию в мета-теге. Откройте исходник вашей страницы и посмотрите информацию между тегов <head>
. Если информация о кодировке корректно записана в мета-теге, то вы должны будете увидеть строку вроде такой:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>