Прискорююча кнопка n назначена для пропусків при навігації по сторінкам. Пропуск для переходу на початок контента.
Даний документ є перекладом. У випадку будь-яких невідповідностей і помилок остання версія документу англійською мовою повинна розглядатися як офіційна. Першопочаткове авторське право належить W3C, як це вказано нижче.
Перекладач: Alexandr, Art life
Аудиторія: шифровальщики XHTML / HTML (используя редакторы или скрипты), разработчики скриптов (PHP, JSP, и т.д.), шифровальщики CSS, Менеджеры веб-проектов, и каждый, кто не знаком с кодировкой символов и нуждается в помощи в вопросах выбора и применения кодировок символов.
Какую кодировку символов я должен использовать для моего контента, и как я могу ее применить?
Контент состоит из последовательности символов. Символы представляют буквы алфавита, знаки препинания и т. д. Но контент хранится в компьютере в виде последовательности байтов, которые имеют числовые значения. Иногда больше, чем один байт используется для представления одного символа. Как коды, используемые в шпионаже, так и способ в какой последовательности байтов превращается в символы зависит от того, какой ключ использовался для кодирования текста. В этом контексте, тот ключ называется кодированием символов.
На выбор есть много кодировок. Эта статья дает простой совет: какую кодировку использовать для вашего контента, и как ее применить, то есть как в действительности создать документ с этим кодированием.
Если вам нужно лучше понять, какие есть символы и кодировки, смотрите статью Кодировка символов для начинающих.
HTML страница может быть только в одной кодировке. Вы не можете кодировать разные части документа различными кодировками.
Такое кодирование Unicode, как UTF-8 может поддерживать много языков и может приспосабливать страницы и формы к любому смешиванию этих языков. Его использование также устраняет необходимость серверной логики индивидуально определять кодировку каждой обслуживаемой страницы или представления каждой входящей формы. Это значительно снижает сложность работы с многоязычным сайтом или приложением.
Кодировка Unicode позволяет смешивать на одной странице гораздо больше языков, чем любая другая кодировка.
Почти нет препятствий к использованию Unicode в эти дни. Действительно, в августе 2010 года Google сообщили, что более 50% Веб-сайтов в их выборке из нескольких миллиардов страниц использовали UTF-8. Добавьте к этому ASCII веб-страницы (поскольку ASCII является подмножеством UTF-8), и цифра достигает около 70%.
Существуют три различных кодировки Unicode: UTF-8, UTF-16 и UTF-32 (смотрите Наборы символов, закодированные наборы символов и кодировки). Из этих трех, UTF-8 рекомендуется для использования для веб-контента. На самом деле в настоящее время проект спецификации HTML5 говорит "Авторам рекомендуется использовать UTF-8. Программы для проверки соответствия могут консультировать авторов по использованию наследования кодировок. Средства разработки должны по умолчанию используется UTF-8 для новых документов."
Обратите внимание, в частности, что все символы ASCII в кодировке UTF-8 используют те же самые байты, что и в кодировке ASCII, что часто помогает добиться совместимости и обратной совместимости.
Поддержка данной кодировки, особенно такой, как Unicode, не обязательно означает, что клиентское приложение будет корректно отображать текст. Многочисленные скрипты, например, арабский и индийский, требуют дополнительных правил для преобразования последовательности символов в памяти в соответствующую последовательность символов шрифта для отображения.
Если вы не используете Unicode. Выберите кодировку, которая дает максимальную возможность непосредственно представлять символы и сводит к минимуму необходимость представлять их используя экранированные символы.
Если у вас есть возможность выбрать конкретный язык, скрипт, или группу языков, выберите кодировку, которая зачастую поддерживается и проверьте, что клиентские приложения адекватно поддерживают избранное кодирование.
Рассмотрим решение, которое сводит к минимуму сложность при работе с несколькими языками и скриптами.
Спецификация HTML5 называет несколько кодировок, которые вы должны избегать.
В документах не должны использоваться: JIS_C6226-1983, JIS_X0212-1990, HZ-GB-2312, JOHAB (Windows code page 1361), кодирования основаные на ISO-2022, или кодування кодирования основаные на EBCDIC. Это потому, что они позволяют точкам кода ASCII, отображать такие символы, которые не являются символами ASCII, что создает угрозу безопасности.
Документы не должны использовать CESU-8, UTF-7, BOCU-1, или SCSU кодирование, поскольку они никогда не были предназначены для Веб-контента.
Спецификация также не рекомендует использовать UTF-32.
Как автору контента вам необходимо проверить, сохраняют ли ваш редактор или скрипты текст в кодировке, которую вы выбрали.
Разработчики также должны убедиться, что разные части системы могут взаимодействовать друг с другом, понимать, какие кодировки символов используются, и поддерживать все необходимые кодировки и символы.
Важно понимать, что только назначение кодирования внутри документа и на сервере с помощью одного из методов, описанных ниже, как правило, не изменит байтов; вам необходимо сохранить текст в той кодировке, чтобы применить ее к вашему контенту. (Назначение только помогает браузеру интерпретировать последовательности байтов, в которых сохранен текст.)
Статья Настройка кодирования в приложениях для Веб разработки консультирует как установить кодировку страницы во время ее сохранения, для нескольких сред, которые редактируются.
Если у вас есть возможность, то лучше настроить кодировку UTF-8 по умолчанию для новых документов в вашем редакторе. На следующем рисунке показано, как вы могли бы это сделать в preferences (настройках) такого редактора, как Dreamweaver.

Вам також можливо доведеться перевірити, чи ваш сервер обробляє документи з правильними призначеннями HTTP, так як в іншому випадку він буде визначити цю інформацію з документу (дивіться наступний розділ).
Скажем, например, что вы сохранили свои данные как UTF-8. Хотя вы сохранили данные в правильной кодировке, и даже если вы указали на странице что ее кодировка UTF-8, ваш сервер может по-прежнему обслуживать страницу с сопровождающим заголовком HTTP, который говорит, что это нечто иное.
Любое назначение, в заголовке HTTP заменит информацию внутри страницы, что создает проблемы для вашего контента.
Вы не можете контролировать назначения, которые приходят с заголовком HTTP и, возможно, вам придется обратиться за помощью к людям, которые руководят сервером. С другой стороны есть способы с помощью которых вы можете исправить положение на сервере, если у вас ограниченный доступ к файлам установки сервера или генерация страниц с помощью языков сценариев. Например, смотрите Настройка HTTP charset параметра для получения дополнительной информации о том, как менять кодировку информации, либо локально, для набора файлов на сервере, или для генерируемого с помощью скриптового языка контента.
Как правило, прежде чем сделать это, вам нужно проверить, является ли это в действительности проблемой или нет. Вы можете использовать W3C Internationalization Checker чтобы узнать, какую кодировку символов предназначено, если ничего, не указано в HTTP заголовке. Кроме того, статья Проверка HTTP заголовков указывает на некоторые другие инструменты для проверки закодированной информации, передаваемой сервером.
Розкажіть нам про те, що Ви думаєте.
Підписатися на RSS джерело.
Twitter (Новини головної сторінки)
Переклад Англійського контенту від 2010-08-12. Переклад останнього оновлення 2011-03-18 23:00 GMT
Для перегляду історії внесення змін до перекладу натисність qa-choosing-encodings в блоге i18n.
Copyright © 2010-2011 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply. Your interactions with this site are in accordance with our public and Member privacy statements.