Caractères bizarres dans un CSV ouvert avec Excel
Pourquoi les accents se transforment en symboles, et trois façons de régler le problème.
Vous ouvrez un CSV dans Excel et les noms arrivent abîmés : Café devient Café, l’apostrophe devient ’, et les noms de famille pleins d’accents deviennent illisibles. Le fichier n’est pas cassé. Excel se trompe simplement sur son encodage.
Ce qui se passe réellement
Un fichier texte n’est qu’une suite d’octets. L’encodage est la table qui dit quels octets correspondent à quels caractères. La quasi-totalité des données modernes utilisent l’UTF-8, qui couvre toutes les langues. Sous Windows, quand vous double-cliquez sur un fichier .csv, Excel suppose souvent l’encodage régional de Windows, généralement Windows-1252, au lieu de l’UTF-8.
En UTF-8, le é occupe deux octets. Lus comme du Windows-1252, ces deux octets deviennent deux caractères distincts, à et ©. D’où le é. Rien n’a été perdu, le fichier est simplement mal interprété.
Solution 1 : importer au lieu d’ouvrir
La méthode fiable, dans Excel sur Windows :
- Ouvrez un classeur vide.
- Onglet Données, puis Obtenir des données, À partir d’un fichier, À partir d’un fichier texte ou CSV.
- Choisissez votre fichier. Dans l’aperçu, réglez Origine du fichier sur UTF-8, ou Unicode (UTF-8).
- Vérifiez que le séparateur est correct, puis cliquez sur Charger.
Les accents s’affichent correctement, car vous avez indiqué à Excel comment lire le fichier.
Solution 2 : ajouter un BOM au fichier
Si vous devez transmettre un CSV à des collègues qui vont simplement double-cliquer dessus, enregistrez-le en UTF-8 avec BOM. Le BOM est un court marqueur au début du fichier qui dit à Excel : ceci est de l’UTF-8. Excel le respecte, et la plupart des autres logiciels l’ignorent sans problème.
Le correcteur d’encodage peut réenregistrer votre fichier en UTF-8 avec BOM. C’est le moyen le plus simple d’obtenir un CSV qui s’ouvre proprement d’un double-clic sur un ordinateur Windows.
Solution 3 : passer par Google Sheets
Google Sheets suppose l’UTF-8, donc l’import y fonctionne presque toujours. Importez le CSV dans Sheets, vérifiez que les accents sont corrects, puis téléchargez en .xlsx pour Excel. Rappelez-vous que le fichier passe alors par les serveurs de Google, ce qui ne convient pas à des données personnelles ou confidentielles.
Quand les dégâts sont déjà enregistrés
Si quelqu’un a ouvert le CSV abîmé, l’a enregistré en .xlsx et vous l’a renvoyé, les mauvais caractères sont désormais dans le fichier. Retournez au CSV d’origine et importez-le correctement. Réparer des é à coups de rechercher-remplacer fonctionne parfois, mais on en oublie toujours.
Le problème voisin : les colonnes
Si tout se retrouve dans une seule colonne, le problème est le séparateur, pas l’encodage. Les exports français utilisent souvent le point-virgule, les exports anglophones la virgule. Dans l’écran d’import d’Excel, choisissez le bon séparateur. Le correcteur d’encodage détecte aussi le séparateur et peut le changer.
Comment éviter tout cela
| Destinataire | Enregistrez en |
|---|---|
| Collègues sous Excel Windows | UTF-8 avec BOM |
| Un système, une base, une API | UTF-8 sans BOM |
| Google Sheets | UTF-8, avec ou sans BOM |
Le correcteur d’encodage fonctionne dans votre navigateur, donc les listes de clients et les exports de commandes ne sont jamais envoyés nulle part.