Je développe une partie d'une application chargée d'exporter certaines données dans des fichiers CSV. L'application utilise toujours UTF-8 en raison de sa nature multilingue à tous les niveaux. Mais ouvrir de tels fichiers CSV (contenant par exemple des signes diacritiques, des lettres cyrilliques, des lettres grecques) dans Excel n'obtient pas les résultats attendus montrant quelque chose comme Г„/Г¤, Г–/Г¶
. Et je ne sais pas comment forcer Excel à comprendre que le fichier CSV ouvert est codé en UTF-8. J'ai également essayé de spécifier la nomenclature UTF-8 EF BB BF
, mais Excel l'ignore.
Y a-t-il une solution de contournement?
PS Quels outils peuvent potentiellement se comporter comme Excel?
MISE À JOUR
Je dois dire que j'ai confondu la communauté avec la formulation de la question. Lorsque je posais cette question, j'ai demandé un moyen d'ouvrir un fichier CSV UTF-8 dans Excel sans aucun problème pour un utilisateur, de manière fluide et transparente. Cependant, j'ai utilisé une mauvaise formulation demandant de le faire automatiquement . C'est très déroutant et cela se heurte à l'automatisation des macros VBA. Il y a deux réponses à ces questions que j'apprécie le plus: la toute première réponse d'Alex https://stackoverflow.com/a/6002338/166589 , et j'ai accepté cette réponse; et le second par Mark https://stackoverflow.com/a/6488070/166589qui sont apparus un peu plus tard. Du point de vue de la convivialité, Excel semblait manquer d'une bonne prise en charge UTF-8 CSV conviviale, donc je considère que les deux réponses sont correctes, et j'ai d'abord accepté la réponse d'Alex parce qu'elle a vraiment déclaré qu'Excel n'était pas en mesure de le faire cela de manière transparente. C'est ce que j'ai confondu avec automatiquement ici. La réponse de Mark propose un moyen plus compliqué pour les utilisateurs plus avancés d'atteindre le résultat attendu. Les deux réponses sont excellentes, mais celle d'Alex correspond un peu mieux à ma question non clairement spécifiée.
MISE À JOUR 2
Cinq mois plus tard après le dernier montage, j'ai remarqué que la réponse d'Alex avait disparu pour une raison quelconque. J'espère vraiment que ce n'était pas un problème technique et j'espère qu'il n'y a plus de discussion sur la meilleure réponse à présent. J'accepte donc la réponse de Mark comme la meilleure.
\t
comme délimiteur. Fonctionnera en anglais et non anglais Excel. Peut appuyer Ctrl-S
sans sélectionner le format de fichier, etc. Préserve les caractères Unicode.