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

Server e browser comunicano tra loro inviando byte di dati su internet. Se il server non specifica quale formato di codifica dei caratteri sta utilizzando quando invia un file HTML, il browser non saprà quale carattere rappresenta ogni byte. La specifica della dichiarazione della codifica dei caratteri risolve questo problema.

Come non superare il controllo charset di Lighthouse

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

Controllo della codifica dei caratteri non riuscito.

Lighthouse considera la codifica dei caratteri dichiarata se trova uno dei seguenti elementi:

  • Un elemento <meta charset> nell'elemento <head> del documento completamente contenuto nei primi 1024 byte del documento
  • Un'intestazione della risposta HTTP Content-Type con una direttiva charset che corrisponde a un nome IANA valido
  • Un indicatore dell'ordine dei byte (BOM)

Come superare il controllo charset

Aggiungere un elemento <meta charset> all'HTML

Aggiungi un elemento <meta charset> nei 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 dell' <head> del documento.

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

Aggiungere un'intestazione della risposta HTTP Content-Type

Configura il server in modo che aggiunga un'Content-Type intestazione della risposta HTTP che includa una direttiva charset.

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

Risorse