Кодування символів у HTML

Мова гіпертекстової розмітки HTML використовується з 1991 року, але версія 4.0 (1997) була першою, де відтворення символів, відмінних від ASCII (тобто, англійської мови), належним чином стандартизовано.

Визначення кодування засобами HTTP ред.

При відображенні HTML-сторінки браузерами останнім потрібно повідомити в якому кодуванні збережено сторінку. Для цього можна скористатися двома методами:

  • набір символів документа задається в заголовку HTTP, наприклад для тексту з кодуванням windows-1251
Content-Type: text/html; charset=windows-1251
  • інформацію про кодування можна вставити в сам документ HTML, використовуючи тег meta в розділі <head> HTML-документа. Наприклад, у разі кодування UTF-8 тег meta може мати такий вигляд:

  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

У стандарті для мови HTML 5 мета тег, що інформує браузер про кодування сторінки, записується відмінно від правил прийнятих в раніших стандартах HTML. Так приклад, наведений вище, в HTML 5 виглядатиме так:

  <meta charset="utf-8"/>

Такий спосіб непогано працює для файлів, але при видачі документа за допомогою HTTP результат залежатиме від дій HTTP-сервера, а саме від того, чи буде вказано цю інформацію в заголовку. Згідно HTTP /1.1, відсутність вказівки charset у заголовку прирівнюється до використання набору символів ISO 8859-1.

Тобто, пріоритетним фактором для браузера з питання «в якому кодуванні виводити документ» може бути переданий сервером заголовок. В цьому випадку браузер зобов'язаний нехтувати відповідні атрибути в тезі META.

Див. також ред.

Джерела ред.