Déclarer un encodage des caractères

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 chaque octet représente. La spécification de la déclaration d'encodage des caractères résout ce problème.

Un élément <meta charset> tardif (qui n'est pas entièrement contenu dans les 1 024 premiers octets du document) peut avoir un impact significatif sur les performances de chargement, car le navigateur suppose un encodage de caractères. S'il découvre plus tard qu'il a fait une erreur, il devra recommencer l'analyse du code HTML depuis le début.

Comment réussir ce test

L'insight considère que l'encodage des caractères est 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 directive charset qui correspond à un nom IANA valide

Un seul de ces éléments doit être défini pour réussir le test.

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 contenu dans les 1 024 premiers octets. La bonne pratique consiste à 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">
    …

Ajouter un en-tête de réponse HTTP Content-Type

Configurez votre serveur pour qu'il ajoute un Content-Type en-tête de réponse HTTP qui inclut une directive charset.

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

Ressources