De tekensetdeclaratie ontbreekt of komt te laat in de HTML voor

Servers en browsers communiceren met elkaar door bytes aan gegevens via internet te verzenden. Als de server niet specificeert welk tekencoderingsformaat hij gebruikt wanneer hij een HTML-bestand verzendt, weet de browser niet welk teken elke byte vertegenwoordigt. De karaktercoderingsdeclaratiespecificatie lost dit probleem op.

Hoe de Lighthouse- charset -audit mislukt

Lighthouse markeert pagina's die hun tekencodering niet specificeren:

De falende karaktercoderingsaudit.

Lighthouse beschouwt de tekencodering als gedeclareerd als er een van de volgende zaken wordt aangetroffen:

  • Een <meta charset> -element in de <head> van het document dat volledig is opgenomen in de eerste 1024 bytes van het document
  • Een Content-Type HTTP-antwoordheader met een charset die overeenkomt met een geldige IANA-naam
  • Een bytevolgordemarkering (BOM)

Hoe u de charset audit doorstaat

Voeg een <meta charset> -element toe aan uw HTML

Voeg een <meta charset> -element toe binnen de eerste 1024 bytes van uw HTML-document. Het element moet volledig binnen de eerste 1024 bytes zijn opgenomen. De beste praktijk is om van het <meta charset> -element het eerste element in de <head> van uw document te maken.

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    …

Voeg een Content-Type HTTP-antwoordheader toe

Configureer uw server om een Content-Type HTTP-antwoordheader toe te voegen die een charset bevat.

Content-Type: text/html; charset=UTF-8

Bronnen