Атрибут 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>
Как правильно указывать кодировку:
- В HTTP-заголовке:
Content-Type: text/html; charset=UTF-8 - В HTML-документе:
<meta charset="UTF-8">(должен быть в первых 1024 байтах) - Для 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.