Какую кодировку использовать в html?

В этот раз мы поговорим о кодировке в HTML: что это, как сообщить браузеру и почему стоит использовать UTF-8, а иногда и Windows-1251. Материал рассчитан на новичков и содержит всё необходимое для того, чтобы получить развёрнутый ответ на указанный вопрос.

кодировка

Кодировка HTML-страницы

Кодировку HTML-страницы нужно указывать для того, чтобы браузер мог правильно отображать, содержащуюся на ней, текстовую информацию. Если браузер неправильно распознает кодировку HTML-страницы, вместо текста мы получим «кракозябрики». Почему так происходит?

Кодировка (англ. charset) – это таблица, в которой для каждого кода символа закрепляется своё графическое изображение. Если кодировка определена неправильно, для каждого кода символа будет использоваться неправильное графическое изображение.

Следует отметить, что до 1997 года в HTML использовалась только кодировка ASCII. Но с появлением отличных от неё кодировок возникла необходимость указывать используемую кодировку.

Сообщить браузеру о кодировке HTML

Чтобы сообщить браузеру кодировку HTML-страницы, можно использовать один из следующих методов:

Вариант 1: указать кодировку в заголовке HTTP.

Например, через настройки сервера или соответствующие функции языка веб-программирования. Так в PHP для этого имеется функция header(). С учётом поставленной задачи, решение может иметь вид:

header("Content-Type: text/html; charset=koi8-r");

Примечание: отправка заголовка HTTP должна происходить до вывода содержания HTML-страницы.

Вариант 2: указать кодировку в meta теге Content-Type

Метатег Content-Typeвставляется в сам HTML-документ, в раздел HEAD, например:

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

В спецификации HTML 5 этот метатег получил сокращенный формат, например:

<meta charset="utf-8">

Какую кодировку использовать в HTML?

На данный момент одной из общепринятых и стандартизированных кодировок текста, которая позволяет хранить сиволы Юникода, является 8-битная UTF-8.

Одним из её преимуществ является совместимость с ASCII, что даёт выигрыш по объёму при сравнении с более продвинутыми кодировками UTF-16 и UTF-32.

Поэтому лучше всего использовать именно UTF-8.

Но если говорить о кириллице, то здесь мы можем получить определённые проблемы. Обычно они все не критичны и вполне решаемы. Например, часто можно встретить проблему с необходимость удалить символ BOM в WordPpress.

Именно поэтому кодировка Windows-1251 всё ещё продолжает пользоваться весьма широкой популярностью.

По сути, кодировка Windows-1251 выгодно отличается от других 8-битных кодировок (таких как CP866, KOI8-R и ISO 8859-5) именно наличием практически всех символов, использующихся в русской типографике для обычного текста; она также содержит все символы для других славянских языков: украинского, белорусского, сербского, македонского и болгарского.

Подведём итоги

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

Короткая ссылка: http://goo.gl/TCR4b1