Jeg udvikler en del af et program, der er ansvarlig for at eksportere nogle data til CSV-filer. Applikationen bruger altid UTF-8 på grund af dens flersprogede karakter på alle niveauer. Men ved at åbne sådanne CSV-filer (der f.eks. indeholder diakritiske bogstaver, cyrilliske bogstaver, græske bogstaver) i Excel opnås ikke de forventede resultater, der viser noget som Г"/Г&#¤, Г-/Г&#¶
. Og jeg don't ved hvordan man tvinger Excel til at forstå, at den åbne CSV-fil er kodet i UTF-8. Jeg har også prøvet at angive UTF-8 BOM EF BB BF
, men Excel ignorerer det.
Er der nogen løsning?
P.S. Hvilke værktøjer kan potentielt opføre sig som Excel gør?
UPDATE
Jeg må sige, at jeg har forvirret fællesskabet med formuleringen af spørgsmålet. Da jeg stillede dette spørgsmål, spurgte jeg om en måde at åbne en UTF-8 CSV-fil i Excel uden problemer for en bruger, på en flydende og gennemsigtig måde. Jeg brugte imidlertid en forkert formulering, hvor jeg spurgte om at gøre det automatisk. Det er meget forvirrende, og det kolliderer med VBA-makroautomatisering. Der er to svar på dette spørgsmål, som jeg sætter mest pris på: det allerførste svar fra Alex https://stackoverflow.com/a/6002338/166589, og jeg har accepteret dette svar, og det andet svar fra Mark https://stackoverflow.com/a/6488070/166589, der er kommet lidt senere. Ud fra et brugervenlighedssynspunkt syntes Excel at mangle en god brugervenlig UTF-8 CSV-understøttelse, så jeg mener, at begge svar er korrekte, og jeg har accepteret Alex's svar først, fordi det virkelig angav, at Excel ikke var i stand til at gøre det på en gennemsigtig måde. Det var det, jeg forvekslede med automatisk her. Mark's svar promoverer en mere kompliceret måde for mere avancerede brugere at opnå det forventede resultat på. Begge svar er gode, men Alex's svar passer lidt bedre til mit ikke klart specificerede spørgsmål.
UPDATE 2
Fem måneder efter den sidste redigering har jeg bemærket, at Alex's svar af en eller anden grund er forsvundet. Jeg håber virkelig, at det ikke var et teknisk problem, og jeg håber ikke, at der kommer flere diskussioner om, hvilket svar der er det bedste nu. Så jeg accepterer Mark's svar som det bedste.
Alex har ret, men da du skal eksportere til csv, kan du give brugerne dette råd, når de åbner csv-filerne:
På denne måde skulle specialtegn vises korrekt.