Кодування символів у HTML
Мова гіпертекстової розмітки HTML використовується з 1991 року, але версія 4.0 (1997) була першою, де відтворення символів, відмінних від ASCII (тобто, англійської мови), належним чином стандартизовано.
HTML |
---|
|
Визначення кодування засобами 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.