Перейти к содержимому

Наборы символов HTML

Браузер должен знать, какой набор символов (кодировку символов) использовать. Это необходимо для корректного отображения HTML-страницы.

UTF-8 является кодировкой символов по умолчанию для HTML5. Однако раньше было иначе. До неё использовался набор символов ASCII. А ISO-8859-1 был набором символов по умолчанию от HTML 2.0 до HTML 4.01.

Однако проблемы с кодировкой всё ещё существовали, и с появлением UTF-8 в HTML5 и XML многие из них были решены.

Давайте рассмотрим подробнее, что такое наборы символов.

ASCII

ASCII был первым стандартом кодировки символов, который также называют набором символов. Аббревиатура расшифровывается как American Standard Code for Information Interchange.

Для каждого сохраняемого символа ASCII определял уникальный двоичный номер для поддержки букв английского алфавита в верхнем и нижнем регистре (a-z, A-Z), цифр от 0 до 9 и специальных символов. Изначально он основан на английском алфавите и кодирует 128 символов в 7-битное двоичное целое число. Это работает, потому что вся компьютерная информация в электронике записывается в виде двоичных единиц и нулей (01000101).

Ниже вы можете увидеть таблицу ASCII.

html-ascii-character-set

Самая большая проблема ASCII заключается в том, что в нём не было букв, отличных от английского алфавита. Он всё ещё используется, особенно в мейнфреймах.

Нажмите здесь, чтобы узнать больше о ASCII.

ANSI

ANSI, который также назывался Windows-1252, был набором символов по умолчанию для Windows вплоть до Windows 95. Это расширение для ASCII, которое добавляет международные символы. Оно поддерживало 256 символов с использованием полного байта (8 бит).

ANSI поддерживался всеми браузерами, поскольку он был объявлен набором символов по умолчанию для Windows.

ISO-8859-1

ISO-8859-1 стал кодировкой символов по умолчанию в HTML 2.0, поскольку большинство стран используют символы, отличные от ASCII. Это также расширение ASCII, как и ANSI, и оно добавляет международные символы. ISO-8859-1 также использует полный байт для представления в два раза большего количества символов по сравнению с ASCII.

Нажмите здесь, чтобы узнать больше о ISO-8859-1.

Наборы символов HTML 4

html
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1" />

Если страница HTML 4 использует кодировку, отличную от ISO-8859-1, она должна быть определена в теге <meta>.

Наборы символов HTML 4

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

Все процессоры HTML 4 поддерживают UTF-8.

Наборы символов HTML 5

html
<meta charset="UTF-8" />

Разместите этот тег как можно раньше внутри элемента <head>, чтобы убедиться, что браузер правильно считывает кодировку.

Unicode UTF-8

UTF-8 является кодировкой символов по умолчанию для HTML5.

Поскольку упомянутые выше наборы символов ограничены, Консорциум Unicode разработал стандарт Unicode.

Этот стандарт Unicode включает почти все символы, знаки препинания и символы, используемые в мире.

В HTML атрибут charset указывает кодировку символов.

TIP

Все процессоры HTML5 поддерживают UTF-8. Обратите внимание, что процессоры XML строго требуют UTF-8 или UTF-16.

Практика

Что верно относительно наборов символов HTML?

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.