Какие кодировки веб-страниц существуют?
Посмотрев исходный код любой html-страницы, можно заметить в первых строках упоминание о кодировке. Как правило, для сайтов русскоязычного Интернета используется кодировка Windows-1251. Кодировка определяет способ сохранения данных в файле.
Помимо windows-1251 часто используется кодировка Юникод, имеет она несколько форм представления, включая UTF-8, UTF-16 и UTF-32. Заметим, в большинстве интерфейсов Windows используется форма UTF-16. Преимущество этой кодировки в том, что она позволяет представить знаки практически всех письменных языков. Таким образом, Юникод хорошо подходит для сайтов, использующих национальные символы. Можно также выделить кодировки ISO-8859-1 (также известная как «Latin-1», используется для большинства западноевропейских языков), KOI-8R, KOI-8U, ISO-8859-5 и Мас (с поддержкой русского языка), использующиеся не так часто.
Кодировка или набор символов (charset, character set) по сути своей является таблицей кодирования конечного множества символов. Чтобы указать браузеру, что страницу нужно отображать в определённой кодировке, достаточно прописать мета-теги, например для русского языка:
<meta http-equiv=«Content-Type» content=«text/html; charset=windows-1251»>
или
<meta http-equiv=«Content-Type» content=«text/html; charset=UTF-8»>
для английского языка:
<meta http-equiv=«Content-Type» content=«text/html; charset=windows-1252»>
для центральноевропейских языков:
<meta http-equiv=«Content-Type» content=«text/html; charset=windows-1250»>
Помимо кодировки, веб-разработчки могут указать ещё и язык страницы. Этот параметр не влияет на способ сохранения информации, он только указывает, какой шрифт будет использован в браузерах при отображении страницы, а также помогает поисковикам определить язык страницы.
Язык страницы задаётся с помощью следующего HTML-тега:
<meta http-equiv=«Content-Language» content=«ru»>
Обозначения других языков для мета-тегов перечислены в следующей таблице:
Язык страницы | Обозначение | Язык страницы | Обозначение |
---|---|---|---|
Азербайджанский (кириллица) | az-az-cyrl | Канада | kn |
Азербайджанский (латиница) | az-az-latn | Каталанский | ca |
Английский (Австралия) | en-au | Китайский (Гонконг) | zh-hk |
Английский (Белиз) | en-bz | Китайский (КНР) | zh-cn |
Английский (Великобритания) | en-gb | Китайский (Сингапур) | zh-sg |
Английский (Зимбабве) | en-zw | Китайский (Тайвань) | zh-tw |
Английский (Ирландия) | en-ie | Конкани | kok |
Английский (Канада) | en-ca | Корейский | ko |
Английский (Новая Зеландия) | en-nz | Коса | xh |
Английский (США) | en-us | Латышский | lv |
Английский (Тринидад) | en-tt | Литовский | lt |
Английский (Филиппины) | en-ph | Лужицкий | sb |
Английский (ЮАР) | en-za | Македонский | mk |
Английский (Ямайка) | en-jm | Малайский | ms |
Арабский (Алжир) | ar-dz | Малаялам | ml |
Арабский (Бахрейн) | ar-bh | Мальдивский | div |
Арабский (Египет) | ar-eg | Мальтийский | mt |
Арабский (Иордания) | ar-jo | Маратхи | mr |
Арабский (Ирак) | ar-iq | Немецкий (Австрия) | de-at |
Арабский (Йемен) | ar-ye | Немецкий (Лихтенштейн) | de-li |
Арабский (Катар) | ar-qa | Немецкий (Люксембург) | de-lu |
Арабский (Кувейт) | ar-kw | Немецкий (стандартный) | de |
Арабский (Ливан) | ar-lb | Немецкий (Швейцария) | de-ch |
Арабский (Ливия) | ar-ly | Непальский | ne |
Арабский (Марокко) | ar-ma | Нидерландский (Бельгия) | nl-be |
Арабский (ОАЭ) | ar-ae | Нидерландский (стандартный) | nl |
Арабский (Оман) | ar-om | Норвежский (букмол) | no-bok |
Арабский (Саудовская Аравия) | ar-sa | Норвежский (нюнорск) | no-nyn |
Арабский (Сирия) | ar-sy | Ория | or |
Арабский (Тунис) | ar-tn | Панджабский | pa |
Армянский | hy | Персидский | fa |
Ассамский | as | Польский | pl |
Баскский | eu | Португальский (Бразилия) | pt-br |
Белорусский | be | Португальский (Португалия) | pt |
Бенгальский | bn | Ретороманский | rm |
Болгарский | bg | Румынский | ro |
Валлийский | cy | Румынский (Молдавия) | ro-mo |
Венгерский | hu | Русский | ru |
Вьетнамский | vi | Русский (Молдавия) | ru-mo |
Галисийский | gl | Санкрит | sa |
Гаэльский | ga | Сербский (кириллица) | sr |
Гаэльский (Шотландия) | gd | Сербский (латиница) | sr |
Греческий | el | Сирийский | syr |
Грузинский | ka | Словацкий | sk |
Гуджарати | gu | Словенский | sl |
Датский | da | Суахили | sw |
Зулусский | zu | Суто | sx |
Иврит | he | Тайский | th |
Индиш | ji | Тамильский | ta |
Индонезийский | id | Татарский | tt |
Исландский | is | Телугу | te |
Испанский (Аргентина) | es-ar | Тсвана | tn |
Испанский (Боливия) | es-bo | Тсонга | ts |
Испанский (Венесуэлла) | es-ve | Турецкий | tr |
Испанский (Гватемала) | es-gt | Узбекский (кирилица) | uz-uz-cyrl |
Испанский (Гондурас) | es-hn | Узбекский (латиница) | uz-uz-latn |
Испанский (Доминиканская республика) | es-do | Украинский | uk |
Испанский (Колумбия) | es-co | Урду | ur |
Испанский (Коста-Рика) | es-cr | Фарерский | fo |
Испанский (Мексика) | es-mx | Финский | fi |
Испанский (Никарагуа) | es-ni | Французский (Бельгия) | fr-be |
Испанский (Панама) | es-pa | Французский (Канада) | fr-ca |
Испанский (Парагвай) | es-py | Французский (Люксембург) | fr-lu |
Испанский (Перу) | es-pe | Фанцузский (Монако) | fr-mc |
Испанский (Пуэрто-Рико) | es-pr | Французский (стандартный) | fr |
Испанский (Сальвадор) | es-sv | Французский (Швейцария) | fr-ch |
Испанский (современная сортировка) | es | Хинди | hi |
Испанский (Уругвай) | es-uy | Хорватский | hr |
Испанский (Чили) | es-cl | Чешский | cs |
Испанский (Эквадор) | es-ec | Шведский | sv |
Итальянский (стандартный) | it | Шведский (Финляндия) | sv-fi |
Итальянский (Швейцария) | it-ch | Эстонский | et |
Казахский | kk | Японский | ja |
Кодировка Windows-1251 (cp1251) является стандартной 8-битной кодировкой для всех русских версий Microsoft Windows. Первая часть таблицы кодировки (латиница) полностью соответствует кодировке ASCII. Вторая часть содержит символы кириллицы и другие спецсимволы. Для кодировки cp1251 существуют разновидности (украинская, болгарская и т.д.).
Юникод, или Уникод (Unicode) использует кодированную форму записи символов. Так, в HTML-коде каждый символ можно записать в числовой форме по следующему шаблону: DD; (десятичный код) или HHHH; (шестнадцатеричный код). Например, буква «Я» в шестнадцатеричной форме Unicode будет записана как Я, а в десятеричной форме как Я Предусмотрена и такая возможность, как использование модифицирующих непротяжённых символов. В HTML-коде они вписываются сразу после символа, который нужно модифицировать. В качестве примера можно привести символ ударения. Чтобы он расположился над буквой, помещаем его шестнадцатеричный код (́) в кодировке Unicode сразу за этой буквой:
<p>Све́ тит со́ лнце</p>
Результатом отображения такого кода будет следующий текст:
Све́тит со́лнце
Узнать кодировку символов можно как из таблиц, так и используя различные программы (Microsoft Word, Таблица символов).