Les serveurs et les navigateurs communiquent entre eux en envoyant des octets de données sur Internet. Si le serveur ne spécifie pas le format d'encodage des caractères qu'il utilise lorsqu'il envoie un fichier HTML, le navigateur ne saura pas quel caractère représente chaque octet. La spécification de déclaration d'encodage des caractères permet de résoudre ce problème.
Échec de l'audit charset
de Lighthouse
Lighthouse signale les pages qui ne spécifient pas leur encodage de caractères:
![L'audit d'échec de l'encodage des caractères](https://developer.chrome.com/static/docs/lighthouse/best-practices/charset/image/the-failing-character-enc-65708532bd6a6.png?authuser=6&hl=fr)
Lighthouse considère l'encodage des caractères comme étant déclaré s'il trouve l'un des éléments suivants:
- Un élément
<meta charset>
dans le<head>
du document qui est entièrement contenu dans les 1 024 premiers octets du document - Un en-tête de réponse HTTP
Content-Type
avec une directivecharset
correspondant à un nom IANA valide - Un indicateur d'ordre des octets (BOM)
Comment réussir l'audit charset
Ajouter un élément <meta charset>
à votre code HTML
Ajoutez un élément <meta charset>
dans les 1 024 premiers octets de votre document HTML.
L'élément doit être entièrement inclus dans les 1 024 premiers octets.
Il est recommandé de faire de l'élément <meta charset>
le premier élément du <head>
de votre document.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
…
Ajoutez un en-tête de réponse HTTP Content-Type
.
Configurez votre serveur pour ajouter un en-tête de réponse HTTP Content-Type
incluant une directive charset
.
Content-Type: text/html; charset=UTF-8