Outil 08 / 08
Détecter l'encodage d'un fichier texte
Un fichier texte ne déclare son encodage nulle part, sauf marque BOM optionnelle : c'est cette absence de métadonnée interne qui cause la quasi-totalité des accents mal affichés. Cet outil lit les octets réels du fichier pour en déduire l'encodage le plus probable.
Glissez un fichier texte ici
CSV, TXT, code source… Lu localement, jamais envoyé.
Comment fonctionne la détection
La méthode la plus fiable est la marque d'ordre des octets (BOM), une poignée d'octets optionnelle en tête de fichier qui déclare explicitement l'encodage — quand elle est présente, aucune ambiguïté possible. En son absence, l'outil tente un décodage UTF-8 strict de l'intégralité du fichier : la moindre séquence d'octets invalide pour ce format fait échouer le test, ce qui permet d'écarter l'UTF-8 avec certitude. Si ce test échoue, le fichier est presque toujours dans un encodage sur un octet (Windows-1252 le plus souvent pour du texte francophone), sans qu'aucun test ne puisse le confirmer à 100% — seule une relecture du texte décodé permet de juger si le résultat a un sens.
Questions fréquentes
Pourquoi mes accents s'affichent-ils comme des symboles bizarres (« é » au lieu de « é ») ?
C'est le symptôme d'une incohérence entre l'encodage réel du fichier et celui supposé par le logiciel qui l'ouvre : un fichier enregistré en UTF-8 mais lu comme s'il était en Windows-1252 (ou l'inverse) transforme chaque caractère accentué codé sur plusieurs octets en plusieurs caractères distincts. Déposez le fichier ici pour voir son encodage réel avant de le rouvrir avec le bon réglage.
L'outil peut-il se tromper sur l'encodage détecté ?
Oui, dans un seul cas : en l'absence de marque BOM et si le fichier n'est pas de l'UTF-8 valide, l'outil suppose du Windows-1252 par défaut (l'encodage sur un octet le plus courant), sans garantie absolue — un autre encodage sur un octet produirait parfois, par coïncidence, une séquence d'octets tout aussi valide. Le verdict est marqué « non certain » dans ce cas ; relisez l'aperçu décodé pour juger s'il a un sens.
Quelle est la différence entre Windows-1252 et ISO-8859-1 ?
Très peu en pratique : Windows-1252 remplace 27 caractères de contrôle inutilisés de la plage 0x80-0x9F d'ISO-8859-1 par des caractères imprimables (guillemets typographiques, tiret cadratin…). Les navigateurs actuels traitent d'ailleurs le libellé « ISO-8859-1 » exactement comme du Windows-1252 lors du décodage, par choix délibéré de la spécification Encoding Standard.
Pour aller plus loin
CSV avec des accents mal affichés dans Excel : le problème d'encodage et de séparateur →
Extension, MIME, magic bytes, conteneur : le vocabulaire des formats de fichiers →