Как я могу проверить правильно ли кодирование символов моего документа используя W3C HTML Валидатор?
Чтобы убедиться, что все получатели документа могут его правильно отобразить и интерпретировать, очень важно правильно указать кодировку символов ('charset'). Один из способов это проверить - использовать W3C Сервис Проверки Разметки. Валидатор обычно определяет кодировку символов с HTTP заголовков и информации в документе. Если валидатор не в состоянии обнаружить кодировку, то её можно будет выбрать на странице результатов валидатора с помощью раскрывающегося меню 'Кодировка' (пример).
Но часто, валидатор не жалуется, даже если обнаруженное или избранное неправильное кодирование. Причина этого в том, что много кодировок очень похожи, а валидатор проверяет только синтаксис разметки и не может решить имеет ли смысл декодированный текст или нет. Чтобы убедиться, что вы имеете правильное кодирование, которое означает, что документ будет корректно отображаться для читателей, используйте следующие пункты:
Если выбранные или обнаруженые кодирования: US-ASCII
, UTF-8
, UTF-16
, или iso-2022-jp
(Japanese JIS), и валидатор не жалуется на проблемы с кодировкой, то есть очень высокая вероятность того, что кодирование избранное
правильно. Обратите внимание, что US-ASCII
является строгим подмножеством кодировки UTF-8
, и поэтому, если US-ASCII
работает, то UTF-8
также
будет работать.
Для любого другого кодирования необходим визуальный контроль. Выберите опцию Show Source (показать источник) с Extended Interface (Расширенного интерфейса) валидатора, и проверьте правильно ли отображаются в тексте non-ASCII символы. Для страниц на иностранных языках, это, как правило, можно сделать достаточно быстро. Для страниц на Английском языке со всего несколькими non-ASCII символамы, это может быть более сложной задачей.
Например, если вы пытались интерпретировать главную страницу W3C как iso-8859-1, вам, возможно, придется пересмотреть источник почти до конца для того, чтобы найти такой текст, как '©' и '®' и увидеть, что это неправильный выбор. (Конечно, та страница, с самого начала указывает валидатору, что она закодирована в UTF-8, и поэтому на самом деле вам не нужно что-то еще проверять.)
В некоторых случаях более чем одна кодировка будет адекватно представлять символы в документе. Например, есть некоторое
перекрытие между iso-8859-1
(Latin-1, Западная Европа) и iso-8859-2
(Latin-2, Восточная Европа), и другие кодировки в этой
серии. Если после тщательной проверки, вы не можете найти разницу, то любой выбор будет подходящим. Близкое сходство этих кодировок с точки зрения моделей байтов
и с точки зрения фактически закодированных символов объясняет почему только визуальный осмотр может помочь убедиться правильное ли кодирование.
Если ни одна из предложенных валидатором кодировок не работает, то вы либо имеете страницу в кодировке, которую валидатор (пока) не поддерживает, или как-то, текст в нескольких различных кодировках смешался на странице. В первом случае, напишите на validator mailing list (список рассылки валидатора) (public archive (общественный архив)), чтобы вашу кодировку символов добавили. В последнем случае, вы должны исправить свою страницу, так как каждая Веб-страница может использовать только одну кодировку символов.
Валидатор не может работать без информации о кодировке потому что SGML или XML проверка основана на проверке последовательностей символов в документе, но то, что валидатор принимает в качестве входных данных - просто последовательность байтов. Знание кодирования символов позволяет валидатору превращать байты в символы. В общем, все то же самое действительно для всех других видов приемников, включая браузеры. Если символы определены не правильно, то Веб браузер будет отображать некорректную информацию.
Валидатор делает это путем преобразования из указанного кодирования в UTF-8, и использует UTF-8 внутренне. Если преобразование в UTF-8 не удается потому, что отдельная последовательность байтов не может появиться во входной кодировоке, то валидатор выдает сообщение об ошибке. В UTF-8 для информации на входе, валидатор проверяет действительно ли только UTF-8 последовательности байтов используются.
Обратите внимание, что визуальная проверка веб-страницы с помощью браузера без использования валидатор может провалиться, поскольку:
<img>
), который нужно проверить.Зареєстровані кодування символів (charsets) в IANA (валідатор підтримує тільки підмножину, яка широко застосовується, і, переважно, підтримує тільки імена, а не псевдоніми)
Ссылки по теме, Настройка сервера
Ссылки по теме, Разработка HTML и CSS
Ссылки по теме, Разработка SVG