La dichiarazione del set di caratteri non è presente o è troppo tardi nel codice HTML

Server e browser comunicano tra loro inviando byte di dati tramite internet. Se il server non specifica il formato di codifica dei caratteri utilizzato per l'invio di un file HTML, il browser non saprà quale carattere rappresenta ogni byte. La specifica della dichiarazione della codifica dei caratteri risolve il problema.

Come il controllo di Lighthouse charset non va a buon fine

Lighthouse segnala le pagine che non specificano la codifica dei caratteri:

Controllo della codifica dei caratteri non riuscita.

Lighthouse considera la codifica dei caratteri da dichiarare se rileva uno dei seguenti elementi:

  • Un elemento <meta charset> in <head> del documento che è completamente contenuto nei primi 1024 byte del documento
  • Un'intestazione della risposta HTTP Content-Type con un'istruzione charset che corrisponde a un nome IANA valido
  • Un byte-order mark (BOM)

Come superare il controllo charset

Aggiungi un elemento <meta charset> al codice HTML

Aggiungi un elemento <meta charset> entro i primi 1024 byte del documento HTML. L'elemento deve essere completamente contenuto nei primi 1024 byte. La best practice consiste nel rendere l'elemento <meta charset> il primo elemento nella sezione <head> del documento.

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

Aggiungi un'intestazione della risposta HTTP Content-Type

Configura il server in modo da aggiungere un'intestazione della risposta HTTP Content-Type che include un'istruzione charset.

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

Risorse