Mes fichiers csv d'origine sont codés avec UTF8-BOM, afin qu'Excel puisse reconnaître les caractères Unicode (si c'est juste encodé avec UTF8, Excel ne reconnaît pas les caractères Unicode).
Mon problème est qu'avec un fichier CSV encodé en UTF8, lorsque vous cliquez sur Enregistrer dans Excel, une option contextuelle vous permet de conserver le formatage original. Cependant, si le fichier est encodé en UTF8-BOM, il est instantané de cliquer sur la sauvegarde. Aucune option ne permet de conserver le formatage. Le fichier CSV fait alors remplacer les virgules par des tabulations.
Qu'est-ce qui se passe est la suivante.
Alors que peux-tu faire?
En théorie, vous devriez pouvoir utiliser l'option Enregistrer en tant que CSV et définir le codage sur UTF8 dans le menu Outils -> "Options Web" (dans la boîte de dialogue Enregistrer sous). Le seul problème ici est que cela ne semble pas fonctionner correctement. Je suppose que c'est une fonctionnalité cassée. Plus d'informations à ce sujet sur le dépassement de capacité: Excel au format CSV avec encodage UTF8
Alors, que pouvez-vous réellement ?
Il suffit d’utiliser la nomenclature UTF-8, de sauvegarder et d’ouvrir le fichier CSV obtenu pour remplacer tous les onglets par des virgules.
Et que devriez-vous faire ?
N'utilisez pas Excel pour charger et modifier des fichiers CSV. Ou au moins être beaucoup plus prudent à ce sujet ...
Pourquoi pas?
J'ai écrit un article (bien trop long) à ce sujet ici .