Ні, це неможливо всередині HTML. Заголовок відповіді серверів має перевагу над метатегом документа. Як зазначено в 5.2.2 Вказання кодування символів - HTML 4.01 Специфікація :
Підводячи підсумок, відповідні агенти користувача повинні дотримуватися наступних пріоритетів при визначенні кодування символів документа (від найвищого пріоритету до найнижчого):
- Параметр "charset" HTTP у полі "Тип вмісту".
- Декларація META з "http-equiv" встановлена на "Content-Type" та значенням для "charset".
- Атрибут charset встановлений на елементі, що позначає зовнішній ресурс.
Отже, для цього потрібна конфігурація на стороні сервера. Однак, як глава продовжує:
Користувацькі агенти можуть надати механізм, який дозволяє користувачам переосмислювати невірні відомості про "схему". Однак якщо користувальницький агент пропонує такий механізм, він повинен пропонувати його лише для перегляду, а не для редагування, щоб уникнути створення веб-сторінок, позначених неправильним параметром "charset".
У моєму випадку заголовок Content-Type сервера містить правильний тип mime, але неправильний діаграм .
Як виявилось, моя конфігурація Apache httpd встановила AddDefaultCharset
ввімкнений, який додавав ; charset=ISO-8859-1
частину. Розміщення в кореневому каталозі веб-сайтів .htaccess
наступного рядка:
AddDefaultCharset Off
інформація про шаблони була видалена:
$ curl -I http://example.com/file.html
HTTP/1.1 200 OK
Date: Fri, 19 Oct 2012 15:07:52 GMT
...
Content-Type: text/html
(див. останній рядок, жодної ; charset=...
частини). Це в поєднанні з мета-тегом html ініціює згадану евристику браузера взяти на себе діаграму з метатега. Веб-сайт правильно розшифрований.
Тестували:
- Google Chrome проти 22.0.1229.94
- Firefox v. 16.0.1
- Версія Lynx 2.8.7rel.1 (05 липня 2009 р.)
Ці три браузери мали проблеми з оригінальною конфігурацією та працюють зараз (усі на Fedora 17).
- Опера 12.02
- Internet Explorer 6 (Win XP SP3)
Не було в першу чергу проблеми. Обидва віддали перевагу UTF-8 від метатега над параметром ISO-8859-1 від сервера.
Не підтримує UTF-8, тому завжди вибирає Western (Latin1) незалежно від налаштування сервера та метатегів.