Structure & Accessibilité
Qu’est-ce que Encodage (charset) ?
Déclaration de l’encodage des caractères du document, en général dans le <head> : <meta charset="utf-8">.
Définition simple
C'est comme indiquer sur l'enveloppe dans quelle langue est écrit le courrier : sans la bonne déclaration, le lecteur décode n'importe quoi. Déclaration de l’encodage des caractères du document, en général dans le <head> : <meta charset="utf-8">. UTF-8 permet de représenter tous les caractères Unicode (accents, symboles, écritures multiples). Le charset doit apparaître tôt dans le document (idéalement dans les 1024 premiers octets) pour que le navigateur interprète correctement le reste. En HTML5, cette meta est la seule suffisante ; en XHTML/HTML4 on pouvait aussi utiliser l’en-tête HTTP Content-Type. Une incohérence entre la déclaration (UTF-8) et l’encodage réel du fichier (ex. Latin-1) provoque des caractères incorrects. Les fichiers doivent être sauvegardés en UTF-8 (sans BOM pour le HTML) et servis avec Content-Type: text/html; charset=utf-8 si possible.
Comment ça marche ?
Une balise <meta charset="utf-8"> placée tôt dans le <head> (idéalement dans les 1024 premiers octets) indique au navigateur comment interpréter les octets du document. Les fichiers doivent être sauvegardés en UTF-8 pour correspondre à cette déclaration.
Impact business
Un mauvais encodage ou une déclaration absente provoque des caractères cassés (é au lieu de é, etc.). Problème fréquent sur des vieux CMS ou des exports mal configurés. Pour un site en français ou multilingue, UTF-8 est la norme ; toute déviation dégrade la crédibilité et l’accessibilité. Les erreurs d’affichage nuisent à la confiance et peuvent faire douter de la qualité technique du site. Vérifier le charset est une des premières étapes en cas de bug d’affichage. Plus de 95 % des pages du web moderne se déclarent en UTF-8 ; une incohérence fichier/déclaration reste l'une des causes les plus fréquentes d'« accents cassés » en support — un correctif souvent réglé en une ligne de meta et un réencodage.
Bonnes pratiques
- Toujours mettre <meta charset="utf-8"> en tête du <head>. Enregistrer tous les fichiers (HTML, CSS, JS) en UTF-8 sans BOM. Vérifier les en-têtes HTTP du serveur si les problèmes persistent.
Erreurs communes
- Déclarer UTF-8 alors que les fichiers sont en Latin-1 (ou l'inverse), ce qui produit des caractères cassés. Oublier la meta charset sur des pages générées dynamiquement ou des templates.
Prompt IA
Contexte : problème d’affichage [exemple : é au lieu de é], stack [CMS / framework]. Liste les causes possibles (meta charset absente ou incorrecte, fichier sauvegardé en Latin-1, double encodage, BOM). Pour chaque cause, donne la correction (HTML, en-têtes HTTP, export/sauvegarde). Donne la ligne <meta> exacte et, si applicable, l’en-tête HTTP à configurer.
SERVICE LIÉ
Passer de la définition à un projet concret.
Création de site internet
Approfondir ce sujet dans le cadre d’un accompagnement adapté à votre contexte.
À LIRE AUSSI
Guides plus complets sur le blog.
QUESTIONS FRÉQUENTES
Aller plus loin sur Encodage (charset).
C’est en général un problème d’encodage : le fichier est en UTF-8 mais déclaré en Latin-1 (ou l’inverse), ou le fichier a été sauvegardé en Latin-1. Vérifiez que chaque page a <meta charset="utf-8"> dans le <head> et que les fichiers sont enregistrés en UTF-8. Vérifiez aussi les en-têtes HTTP envoyés par le serveur.
Dans le <head>, idéalement tout au début (dans les 1024 premiers octets) pour que le navigateur sache immédiatement comment interpréter le reste du document. En HTML5, <meta charset="utf-8"> est suffisant. Pas besoin de fermer la balise ni d’écrire charset="utf-8" dans un Content-Type si la meta est présente.
Oui. UTF-8 gère tous les caractères français (accents, cédilles, ligatures) et reste la norme universelle. Les anciens encodages (ISO-8859-1, Windows-1252) sont source de bugs dès qu’on copie-colle du texte ou qu’on ajoute des caractères spéciaux. UTF-8 sans BOM est la recommandation pour le web.
