Quand en avez-vous besoin ?
- Un export CSV d’un ancien logiciel de comptabilité, d’un ERP ou de votre banque en ligne est enregistré en ANSI, mais le nouveau logiciel ou l’import de votre boutique en ligne attend de l’UTF-8.
- Un fichier texte d’un ancien programme Windows affiche
caf�au lieu decafésur Mac, sous Linux ou dans Git. - Un site web, une base de données ou un script lit le fichier en UTF-8 et s’arrête à la première lettre accentuée.
- D’anciens sous-titres affichent des carrés au lieu des accents sur la télé. Un guide séparé existe pour ce cas : réparer les accents des sous-titres.
Comment convertir le fichier
- Glissez le fichier dans le cadre ci-dessus ou cliquez pour le choisir.
- Mojibuster le lit et vous dit comment : « Lu en Windows-1252 (ANSI), enregistré en UTF-8. »
- Vérifiez l’aperçu. Si quelque chose cloche, Mojibuster vous propose une autre lecture en un clic.
- Cliquez sur Télécharger. Si le fichier doit être ouvert dans Excel, laissez Enregistrer avec BOM coché.
Que veut dire « ANSI » ?
« ANSI » est le nom que Windows donne à l’ancienne table de caractères du système. Sous Windows en français et dans les autres langues d’Europe de l’Ouest, c’est Windows-1252. Cela n’a rien à voir avec l’American National Standards Institute : le nom est une erreur historique. ISO-8859-1 (Latin-1) est presque identique. Seuls les octets entre 80 et 9F diffèrent : Windows-1252 y ajoute des caractères comme €, “, ’ et –.
La différence en octets
é– ANSIE9(un octet), UTF-8C3 A9(deux octets).à– ANSIE0, UTF-8C3 A0.€– Windows-125280, absent d’ISO-8859-1, UTF-8E2 82 AC.’– Windows-125292, UTF-8E2 80 99.- Les lettres sans accent, les chiffres et la ponctuation comme
,sont identiques dans les trois encodages. C’est pourquoi le problème ne touche que les accents, les symboles monétaires et les apostrophes typographiques.
Comment reconnaître un fichier ANSI
Quand un fichier ANSI est ouvert en UTF-8, l’octet d’une lettre accentuée n’y est pas valide. Les programmes affichent �, Notepad++ affiche de petits carrés comme xE9. Le bon octet est toujours dans le fichier : rien n’est perdu à la conversion. Pour savoir si un ? est déjà enregistré pour de bon, lisez points d’interrogation au lieu des accents.
Le cas inverse : de l’UTF-8 lu comme de l’ANSI
Si vous voyez é au lieu de é, le fichier est déjà en UTF-8 et il est seulement lu comme de l’ANSI, le plus souvent par Excel. Il n’y a alors rien à convertir : ouvrez le fichier correctement ou réparez les caractères cassés enregistrés. Voir accents cassés dans Excel et réparer les caractères UTF-8. Mojibuster reconnaît aussi ce cas.
Affiché
Café crème à Noël : façade, déjà vu, 12 € – voilÃ
Correct
Café crème à Noël : façade, déjà vu, 12 € – voilà
Autres méthodes
- Excel : ouvrez le fichier, puis Fichier → Enregistrer sous → type de fichier CSV UTF-8 (délimité par des virgules). Vérifiez d’abord que les accents s’affichent bien à l’ouverture.
- Notepad++ : dans le menu Encodage, choisissez d’abord ANSI, puis Convertir en UTF-8. Pas à pas dans encodage dans Notepad++.
- PowerShell et Python : indiquez l’ancien encodage à la lecture, sinon vous créez de nouveaux caractères cassés. Voir PowerShell et pandas.
Questions fréquentes
Des caractères sont-ils perdus à la conversion ?
Non. Tous les caractères de Windows-1252 et d’ISO-8859-1 existent en UTF-8. Seuls les caractères déjà enregistrés sous forme de ? restent des ?.
ANSI, c’est la même chose qu’ISO-8859-1 ou Latin-1 ?
Presque. Windows-1252 contient en plus €, les guillemets et apostrophes typographiques et les tirets. Mojibuster lit les deux correctement, car Windows-1252 contient tous les caractères d’ISO-8859-1.
UTF-8 avec ou sans BOM ?
Avec BOM pour Excel, sinon Excel affiche de nouveau é. Sans BOM pour les sites web, les bases de données et le code source.
Mon fichier est-il envoyé sur un serveur ?
Non. La conversion se fait entièrement dans votre navigateur, même pour de gros exports CSV. Le fichier ne quitte jamais votre appareil.