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


Описание

Атрибут charset определяет кодировку символов внешнего JavaScript-файла. Этот атрибут необходим, если кодировка скрипта отличается от кодировки HTML-документа.

Пример использования:
<script src="script.js" charset="UTF-8"></script> <script src="legacy.js" charset="ISO-8859-5"></script>

Основные кодировки:

Кодировка Описание Когда использовать
UTF-8 Стандартная Unicode-кодировка Для современных проектов (рекомендуется)
ISO-8859-1 Западноевропейская кодировка Для совместимости со старыми системами
Windows-1251 Кириллическая кодировка Для старых русскоязычных скриптов

Рекомендации по использованию:

  • Всегда указывайте charset="UTF-8" для новых проектов
  • Используйте только для внешних скриптов (с атрибутом src)
  • Убедитесь, что кодировка файла скрипта соответствует указанной
  • Для встроенных скриптов кодировка определяется документом

Пример с разными кодировками:

<!-- Современный скрипт в UTF-8 --> <script src="modern.js" charset="UTF-8"></script> <!-- Легаси-скрипт в Windows-1251 --> <script src="old-script.js" charset="Windows-1251"></script>

Ограничения и проблемы:

  • Не поддерживает все возможные кодировки
  • Неправильная кодировка приводит к ошибкам выполнения
  • В современных проектах обычно не требуется (по умолчанию UTF-8)
  • Может конфликтовать с HTTP-заголовком Content-Type

Примечание: В большинстве случаев атрибут charset можно опустить, если:

  • Скрипт и документ используют UTF-8
  • Кодировка указана в HTTP-заголовках
  • Используются современные инструменты сборки