Заголовки Accept-Charset
зависят от локали браузера.Мой Firefox отправляет ISO-8859-1,utf-8;q=0.7,*;q=0.7
, а Chrome отправляет ISO-8859-1,utf-8;q=0.7,*;q=0.3
, тогда как IE, Opera и Safari не отправляют заголовок Accept-Charset
.Но, скажем, в российской или японской среде, вероятно, есть что-то еще вместо ISO-8859-1.
Заголовки Accept-Charset
не очень полезны.Они предназначены для указания предпочтений браузера в случае, если сервер может предоставить несколько альтернатив, но если вы хотите, чтобы ваш сервер делал такие вещи, вы действительно поверите тому, что говорят браузеры?В моих примерах все, что говорят браузеры (если они что-то говорят), выражает предпочтение ISO-8859-1 по сравнению с UTF-8 или другими кодировками и, в случае Chrome, дополнительно предпочтение по UTF-8 по сравнению с другими кодировками, чем ISO-8859-1.
Я никогда не видел изменений по домену или URL.Хотя это возможно, конечно, такое изменение не будет иметь большого смысла.Мы можем ожидать, что это собственная среда браузера.
Все браузеры в моем тесте указывают по протоколу HTTP, что любая кодировка символов приемлема.Они делают это, вообще не отправляя Accept-Charset
или включая *
в заголовок.Что они действительно могут сделать, это другая проблема, и меню View → Encoding в браузерах не обязательно являются исчерпывающими, но они дают некоторое представление о том, сколько кодировок может поддерживать браузер.
Черновик HTML5 содержит продолжительное обсуждение определяет кодировку .Он частично предназначен для описания текущего поведения браузера, частично для предписания или, по крайней мере, для подсказки того, что должны делать браузеры, и различить их не всегда легко.Обратите внимание, что «язык локали» в предлагаемой таблице кодировок по умолчанию относится к локали browser , а не к языку веб-страницы.И речь идет о выводе кодировки, когда нет более качественной информации, но очевидно, что браузеры с разными локалями должны обрабатывать кодировки, которые им предлагается выводить.