Серверы и браузеры взаимодействуют друг с другом, отправляя байты данных через Интернет. Если сервер не указывает, какой формат кодировки символов он использует при отправке HTML-файла, браузер не будет знать, какой символ представляет каждый байт. Спецификация объявления кодировки символов решает эту проблему.
Как происходит сбой аудита charset
Lighthouse
Маяк помечает страницы, на которых не указана кодировка символов:
![Неудачная проверка кодировки символов.](https://developer.chrome.com/static/docs/lighthouse/best-practices/charset/image/the-failing-character-enc-65708532bd6a6.png?authuser=7&hl=ru)
Lighthouse считает кодировку символов объявленной, если обнаруживает что-либо из следующего:
- Элемент
<meta charset>
в<head>
документа, который полностью содержится в первых 1024 байтах документа. - Заголовок HTTP-ответа
Content-Type
с директивойcharset
, соответствующей допустимому имени IANA. - Метка порядка байтов (BOM)
Как пройти проверку charset
Добавьте элемент <meta charset>
в свой HTML.
Добавьте элемент <meta charset>
в первые 1024 байта вашего HTML-документа. Элемент должен полностью содержаться в пределах первых 1024 байт. Лучше всего сделать элемент <meta charset>
первым элементом в <head>
вашего документа.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
…
Добавьте заголовок HTTP-ответа Content-Type
Настройте свой сервер для добавления заголовка HTTP-ответа Content-Type
, который включает директиву charset
.
Content-Type: text/html; charset=UTF-8