Кодировки символов в HTML

Материал из Seo Wiki - Поисковая Оптимизация и Программирование

Перейти к: навигация, поиск
HTML

XHTML
Каскадные таблицы стилей (CSS)
Кодировки символов
Сравнение движков отображения
Динамический HTML
Семейство шрифтов
Редактор HTML
Элементы HTML
Мнемоники в HTML
Скрипты в HTML
Юникод и HTML
Цвета в Web (Web colors)
WWW-Консорциум (W3C)

Язык гипертекстовой разметки HTML используется с 1991 года, но версия 4.0 (1997) была первой, где представление символов, отличных от ASCII (то есть, английского языка), достаточно стандартизировано.

Содержание

Определение кодировки средствами HTTP

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

При передаче документа HTML по HTTP (скажем, в WWW) набор символов документа задаётся в заголовке HTTP, например для текста в русском варианте кодировки КОИ-8:

Content-Type: text/html; charset=koi8-r

Информацию о кодировке можно вставить в сам документ HTML, используя тег meta в раздел <head> HTML-документа. Например, в случае кодировки UTF-8 тег meta будет выглядеть следующим образом:

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

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

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

Настройка заголовков, передаваемых сервером

1. Можно использовать файл .htaccess. В нем нужно указать директивы серверу касательно кодировок по умолчанию: AddDefaultCharset UTF-8 В приведенном примере кодировкой по умолчанию в заголовках сервера будет назначена UTF-8.

В случае кодировки windows-1251: AddDefaultCharset windows-1251

Данные директивы файла .htaccess наиболее часто применимы. Но в каждом отдельно взятом случае могут и не сработать. Все зависит от настроек сервера.

Есть менее популярные директивы, действие которых направлено на отключение заголовков сервера. При их отключении браузер будет выбирать кодировку в зависимости от указаний в теге МЕТА.

charsetdisable on

AddDefaultCharset Off

2. Директива php-кодом: В начале php-файла можно указать php-код, который передаст инструкции браузеру по выбору кодировки: <?php header('Content-type: text/html; charset=utf-8')?>

Определение кодировки средствами XML

В XHTML можно также указывать кодировку в преамбуле XML, например:

<?xml version="1.0" encoding="utf-8"?>

Мнемоники HTML и коды Unicode

Символы, имеющие специальные названия (см. Мнемоники в HTML), могут быть закодированы в виде &entity;, например:

  • «&agrave;» → «à»
  • «&alpha;» → «α»

В то же время все символы могут быть также закодированы в числовом обозначении с использованием десятичного (&#DD;) или шестнадцатеричного (&#xHHHH;) кода Unicode.

  • «&#224;» = «&#xE0;» → «à»
  • «&#945;» = «&#x3B1;» → «α»

Правильный браузер будет отображать символы, заданные вышеназванным путём, независимо от текущей кодировки документа и, в частности, даже в случае, когда такие символы ею не могут быть охвачены. Таким образом, возможен японский текст в HTML-документе, написанном в Windows-1251, и т.д.

Кодировки символов
Основы → алфавиттекстфайлданные ) • набор символовконверсия
Исторические кодировки → Докомп.: семафорная (Макарова)МорзеБодоМТК-2 Комп.: 6 битУППRADIX-50EBCDICДКОИ-8 ) • КОИ-7ISO 646
совре-
менное
8-битное
представ-
ление
символы ASCIIуправляющиепечатные ) не-ASCIIпсевдографика )
8бит. код.стр. Разные →   Кириллица: КОИ-8ГОСТ 19768-87MacCyrillic
ISO 8859 → 1(лат.) 2 3 4 5(кир.) 6 7 8 9 10 11 12 13 14 15(€) 16
Windows → 1250 1251(кир.) 1252 1253 1254 1255 1256 1257 1258WGL4
IBM&DOS → 437850852855866 «альт.»МИК )
Много-
байтные
Традиционные → DBCSGB2312 ) • HTML
Unicode → UTF-16UTF-8список символовкириллица )
Связанные
темы →
интерфейс пользователяраскладки клавиатурлокальперевод строкишрифткрокозябрытранслитнестандартные шрифтытекст как изображение Утилиты: iconvrecode
de:Zeichenreferenz

en:Character encodings in HTML nl:Character Entity Reference sq:Html kodet e shenjave zh:HTML字符编码

Личные инструменты

Served in 0.081 secs.