Je suis en train de développer une partie d'une application qui est responsable de l'exportation de certaines données dans des fichiers CSV. L'application utilise toujours UTF-8 en raison de sa nature multilingue à tous les niveaux. Mais l'ouverture de tels fichiers CSV (contenant par exemple des diacritiques, des lettres cyrilliques, des lettres grecques) dans Excel ne donne pas les résultats escomptés, montrant quelque chose comme Г"/Гِ ;, Г-/Г¶
. Et je ne sais pas comment forcer Excel à comprendre que le fichier CSV ouvert est encodé en UTF-8. J'ai également essayé de spécifier la nomenclature UTF-8 EF BB BF
, mais Excel l'ignore.
Existe-t-il une solution de contournement ?
P.S. Quels outils peuvent potentiellement se comporter comme Excel le fait ?
MISE À JOUR
Je dois dire que j'ai dérouté la communauté avec la formulation de la question. Lorsque j'ai posé cette question, j'ai demandé un moyen d'ouvrir un fichier CSV UTF-8 dans Excel sans aucun problème pour l'utilisateur, de manière fluide et transparente. Cependant, j'ai utilisé une formulation erronée en demandant de le faire automatiquement. C'est très confus et cela entre en conflit avec l'automatisation des macros VBA. Il y a deux réponses à cette question que j'apprécie le plus : la toute première réponse d'Alex https://stackoverflow.com/a/6002338/166589, que j'ai acceptée, et la seconde de Mark https://stackoverflow.com/a/6488070/166589, qui est apparue un peu plus tard. Du point de vue de la convivialité, Excel semblait manquer d'un bon support CSV UTF-8 convivial, donc je considère que les deux réponses sont correctes, et j'ai accepté la réponse d'Alex en premier parce qu'elle indiquait vraiment qu'Excel n'était pas capable de le faire de manière transparente. C'est ce que j'ai confondu avec automatiquement ici. La réponse de Mark propose une méthode plus compliquée pour les utilisateurs plus avancés afin d'obtenir le résultat escompté. Les deux réponses sont excellentes, mais celle d'Alex répond un peu mieux à ma question qui n'était pas clairement spécifiée.
MISE À JOUR 2
Cinq mois après la dernière modification, j’ai remarqué que la réponse d’Alex a disparu pour une raison quelconque. J'espère vraiment qu'il ne s'agissait pas d'un problème technique et j'espère qu'il n'y aura plus de discussion pour savoir quelle réponse est la meilleure maintenant. J'accepte donc la réponse de Mark comme étant la meilleure.
Alex a raison, mais comme vous devez exporter vers le format csv, vous pouvez donner ce conseil aux utilisateurs lorsqu'ils ouvrent les fichiers csv :
De cette façon, les caractères spéciaux devraient s'afficher correctement.
Enregistrez d'abord la feuille de calcul Excel en tant que texte Unicode. Ouvrez le fichier TXT à l'aide d'Internet Explorer et cliquez sur "Save as" ; TXT Encodage - choisissez l'encodage approprié, c'est-à-dire pour Win Cyrillic 1251.