Атрибут charset тега <link>


Описание

Атрибут charset для тега <link> указывает кодировку символов связанного ресурса. Однако в HTML5 этот атрибут устарел и не должен использоваться. Вместо него следует указывать кодировку в HTTP-заголовке Content-Type или использовать метатег <meta charset>.

Пример (устаревшего) использования:
<!-- Устаревший способ (не используйте) --> <link rel="stylesheet" href="styles.css" charset="UTF-8">

Современная альтернатива:

<!-- Правильный способ указания кодировки --> <meta charset="UTF-8"> <!-- Для внешних ресурсов кодировка должна указываться в HTTP-заголовке --> <link rel="stylesheet" href="styles.css">

Почему атрибут charset устарел:

  • Современные браузеры игнорируют этот атрибут в теге <link>
  • Кодировка должна определяться на уровне всего документа
  • HTTP-заголовки имеют приоритет над любыми другими указаниями кодировки
  • В HTML5 стандартизирован единый способ указания кодировки через <meta>

Как правильно указывать кодировку:

  1. В HTTP-заголовке: Content-Type: text/html; charset=UTF-8
  2. В HTML-документе: <meta charset="UTF-8"> (должен быть в первых 1024 байтах)
  3. Для CSS/JS файлов - только через HTTP-заголовки

Пример правильной настройки сервера:

# Пример для Apache (.htaccess) AddType 'text/css; charset=UTF-8' css # Пример для Nginx charset utf-8; types { text/css css; }

Рекомендации:

  • Всегда используйте UTF-8 как кодировку по умолчанию
  • Поместите <meta charset> сразу после открывающего <head>
  • Проверяйте кодировку через инструменты разработчика
  • Для статических файлов настройте правильные HTTP-заголовки

Примечание: Хотя атрибут charset в теге <link> может встречаться в старом коде, в современных веб-проектах он не должен использоваться. Для обеспечения корректного отображения символов следуйте актуальным стандартам HTML5.