Как заставить броузер понимать язык
Пытаясь определить кодировку документа, броузер испытывает влияние ряда факторов:
♦ Он использует кодировку символов, указанную сервером в параметре HTTP charset (в поле Content-Type)
♦ Если такого поля нет, он будет искать объявление<те1а> с атрибутом
tp-equiv, установленным в Content-Type, и значение charset
♦ Если и это не удастся, он может попытаться угадать кодировку, но полагаться на это нельзя
В любом случае следует стремиться к тому, чтобы сообщить броузеру о кодировке символов в самом начале сценария. Заголовки HTTP надо посылать броузеру раньше любых других данных. Также надо добавить объявление
<meta> в элемент <head> веб-страницы.
Следующая веб-страница сначала добавляет заголовок HTTP, а затем также использует объявление <meta> в теге <head>, чтобы убедить броузер в том, что мы хотим установить на данной странице кодировку ISO-8859-2 для чешского текста:
<?php
text/html; charset=IS0-8859-2');
?>
<html>
<head>
cmeta http-equiv="Content-Type" content="text/html; charset=IS0-8859-2">
<title>Test Czech Encoding</title> </head> <body>
<h1>Bohusel!</h1>
<p>Pro mHsto 'Aalborg, Denmark' nejsou k disposici 3/4adna data</p>
</body> </html>
По-английски этот текст означает «Sorry! There's no data for 'Aalborg, Denmark'». И взят из сценария, генерирующего прогнозы погоды.
Некоторые участки текста выглядят очень странно — вместо подчеркивания (_) появляется символ «три четверти». Это лишь подчеркивает тот факт, что понимать символы должен броузер, а не редактор или РНР.
Тот же результат можно видеть на любой странице, написанной на иностранном языке. Часто приходится принимать изменение набора символов, используемого броузером. Буквы a-z останутся теми же, но специальные символы могут измениться.
Реакция на предпочтения броузера с помощью РНР
К счастью, не приходится гадать, из какой страны посетитель сайта. Обычно броузер передает эту информацию при первом запросе к серверу с помощью
заголовка Accept- Language.
Не следует полагать, что броузер не примет документ на немецком языке, если он не указал его в числе своих предпочтительных языков. Заголовок - это лишь совет для веб-сервера.
Сайт http://www.debian.org/">http://www.debian.org интенсивно пользуется этим заголовком. Если броузер настроен правильно, то страницы должны автоматически появляться на вашем родном языке (конечно, при условии, что эта страница на него переведена).