Ускоряющая клавиша n предназначена для пропусков при навигации по страницам. Пропуск для перехода на начало контента.

Данный документ является переводом. В случае каких-либо несоответствий и ошибок последняя версия документа на английском языке должна рассматриваться в качестве официальной. Первоначальное авторское право принадлежит W3C, как то указано ниже.

Переводчик: Alexandr, Art life

s_gotoW3cHome Internationalization
 

Назначение кодировки символов в CSS

Предполагаемая аудитория: Шифровальщики CSS, Менеджеры веб-проектов, и каждый, кто хочет узнать как назначить кодирование символов CSS файла.

Примечание: Так как этот документ был переведен, изменения были внесены в написанный английским языком оригинал. Смотрите журнал изменений.

Вопрос

Как мне назначить кодировку символов таблицы стилей CSS?

Вводная информация

Если в вашем CSS файле есть текст, который не закодирован как ASCII, то было бы хорошо, если бы вы в таком случае всегда назначали кодирования внешних таблиц стилей CSS. Например, возможно, вы имеете отличные от ASCII символы в названиях шрифтов, в контенте, в значениях селектора и т.д.

Ответ

Для назначения стиля не нужны и не должны использоваться внедреные в документе правила @charset. Эти правила предназначены для использования только в объединенных таблицах стилей.

Использование @charset

Чтобы установить кодирование символов внутри таблицы стилей, используйте @charset "at-rule" (правило). Его синтаксис:

@charset "<IANA-defined-charset-name>";

Только одно @charset правило может появиться во внешней таблице стилей и оно должно быть в самом начале документа. Ему не должны предшествовать любые символы, даже комментарии. (Однако, в одной из кодировок Unicode byte-order mark (маркер порядка байтов) подходит для документа.)

Название должно быть charset названием как описано в IANA реестре. IANA реестр обычно содержит несколько названий для одного и того же кодирования. В этом случае вы должны использовать название обозначенное как лучшее. Например, чтобы обозначить ваш CSS файл как закодированный в UTF-8 вам нужно написать:

@charset "UTF-8";

Использование HTTP

Если у вас есть возможность, то вы можете назначить кодировку файла в Content-Type заголовке HTTP. Для получения дополнительной информации о том, как установить кодировку в HTTP смотрите Настройка HTTP charset параметра. Например, эта строка в ответ на HTTP запрос укажет, что файл закодирован в UTF-8.

Content-Type: text/css; charset=UTF-8

Мы рекомендуем, чтобы при использовании назначения HTTP, вы также включали назначение внутри таблицы стилей. Это гарантирует, то что кодирование до сих пор известно как и раньше, если таблица стилей используется локально или перемещена, например для проверки или редактирования.

Если есть конфликт, то назначение в заголовке HTTP всегда будет переопределять назначение внутри документа.

Кстати говоря

Спецификация HTML 4.01 описывает атрибут charset, который можно добавить к элементу link (ссылка) и должен указать кодировку документа, на который вы ссылаетесь. По спецификации HTML5 использование этого атрибута в элементе link в настоящее время устарело, поэтому вы не должны его использовать. В действительности назначение атрибутом charset не поддерживается всеми браузерами, поэтому это еще одна причина, чтобы избежать его.

Выскажите своё мнение (по-английски).

Подпишитесь на ленту новостей RSS.

Новые публикации

Новости главной страницы

Twitter (Новости главной страницы)

‎@webi18n

Дополнительные материалы

Автор: Russ Rolfe, Microsoft Corporation. Изменения внес: Richard Ishida, W3C. Переводчик: Alexandr, Art life.

Допустимый XHTML 1.0!
Допустимый CSS!
Кодировка UTF-8!

Перевод с английского: 2010-08-07. Последнее внесение изменений в перевод: 2011-03-28 10:00 GMT

Для просмотра истории внесения изменений нажмите qa-css-charset в блоге i18n.