Ich entwickle einen Teil einer Anwendung, der für den Export einiger Daten in CSV-Dateien verantwortlich ist. Die Anwendung verwendet immer UTF-8 aufgrund ihrer mehrsprachigen Natur auf allen Ebenen. Aber das Öffnen solcher CSV-Dateien (die z.B. Diakritika, kyrillische Buchstaben, griechische Buchstaben enthalten) in Excel führt nicht zu den erwarteten Ergebnissen, es wird etwas wie „/¤, –/¶
angezeigt. Und ich weiß nicht, wie ich Excel dazu bringen kann zu verstehen, dass die geöffnete CSV-Datei in UTF-8 kodiert ist. Ich habe auch versucht, UTF-8 BOM EF BB BF
anzugeben, aber Excel ignoriert das.
Gibt es einen Workaround?
P.S. Welche Tools könnten sich möglicherweise so verhalten wie Excel?
UPDATE
Ich muss sagen, dass ich die Community mit der Formulierung der Frage verwirrt habe. Als ich diese Frage gestellt habe, habe ich nach einem Weg gefragt, eine UTF-8 CSV-Datei in Excel ohne Probleme für einen Benutzer, auf eine fließende und transparente Weise zu öffnen. Allerdings habe ich eine falsche Formulierung verwendet und nach einer automatischen Lösung gefragt. Das ist sehr verwirrend und steht im Widerspruch zur VBA-Makroautomatisierung. Es gibt zwei Antworten auf diese Frage, die ich am meisten schätze: die allererste Antwort von Alex, die ich akzeptiert habe; und die zweite von Mark, die etwas später erschienen ist. Aus usability-Sicht schien Excel einen Mangel an benutzerfreundlichem UTF-8-CSV-Support zu haben, daher halte ich beide Antworten für korrekt, und ich habe Alex' Antwort zuerst akzeptiert, weil sie wirklich feststellte, dass Excel das nicht transparent konnte. Das ist das, was ich hier mit automatisch verwechselt habe. Marks Antwort fördert einen komplizierteren Weg für fortgeschrittenere Benutzer, um das erwartete Ergebnis zu erzielen. Beide Antworten sind großartig, aber Alex' Antwort passt etwas besser zu meiner nicht klar spezifizierten Frage.
UPDATE 2
Fünf Monate nach der letzten Bearbeitung habe ich festgestellt, dass die Antwort von Alex aus irgendeinem Grund verschwunden ist. Ich hoffe wirklich, dass es kein technisches Problem war und ich hoffe, dass es keine weitere Diskussion darüber gibt, welche Antwort jetzt besser ist. Deshalb akzeptiere ich Marks Antwort als die beste.
1 Stimmen
Kannst du tabellengetrennte Dateien verwenden? Wenn ja, hast du vielleicht mehr Glück.
11 Stimmen
Office 2010+: beste funktioniert: UTF-16LE mit BOM und
\t
als Trennzeichen. Funktioniert in englischen und nicht englischen Excel-Einstellungen. KannStrg-S
drücken, ohne das Dateiformat auszuwählen, usw. Wird Unicode-Zeichen beibehalten.0 Stimmen
@Duncan ganz ehrlich, ich bin verwirrt und es ist "schwierig zu beurteilen". Ich habe alex's Antwort vor mehr als 2 Jahren akzeptiert (beide am 14. Mai) und dann hat Mark geantwortet und einen trickreichen Workaround vorgeschlagen (den ich tatsächlich nicht überprüft habe), der überraschenderweise mehr Punkte bei meiner Frage erzielt hat, die überraschenderweise auch populär wurde. Wir haben schon vor langer Zeit den Excel-Support in meinem Projekt abgelehnt, und ich möchte alex's Reputation nicht schmälern, weil Excel anscheinend, und wahrscheinlich immer noch (bitte korrigiere mich, wenn ich falsch liege), CSV falsch behandelt. Es ist schwierig zu sagen, tut mir leid.
3 Stimmen
Die Antwort von Alex wurde von einem Moderator gelöscht. Es wurde keine Erklärung gegeben, aber wenn Sie genug Reputation haben, können Sie sie immer noch sehen.
0 Stimmen
Excel 2010 funktioniert gut mit UTF8 BOM für mich, also verstehe nicht, dass es bei dir nicht funktioniert hat. Ich benutze ";" als Trennzeichen. Doppelklicken auf CSV-Dateien dieses Typs öffnet sie korrekt.
1 Stimmen
@osexpert Und du gibst nur eine negative Bewertung, weil deine Excel 2010 Erfahrung sich von meiner vor mehr als 6 Jahren unterscheidet? Schön. Ich behaupte, dass es damals nicht problemlos funktioniert hat für Excel.
1 Stimmen
Da Zeitmaschinen noch nicht existieren, müssen wir uns wohl einfach nicht einig sein.
0 Stimmen
@osexpert Alle Personen, die die Frage beantwortet haben, hatten das gleiche Problem und schlugen ihre Lösungswege vor. Trotzdem anderer Meinung?
0 Stimmen
Mehrere Kommentare zusätzlich zu meinem sagen, dass es mit UTF8 BOM funktioniert, sogar ab Excel 2007. Ich habe Excel 2007 selbst getestet und es funktioniert. Daher ist es nicht wahr, dass "Ich habe auch versucht, UTF-8 BOM EF BB BF anzugeben, aber Excel ignoriert das".
0 Stimmen
@osexpert Du musst entweder Datenimport oder was auch immer verwendet haben, aber definitiv nicht die normale Öffnungsfunktion, nach der ich in der Originalfrage gefragt habe - damit es für dich funktioniert. Nochmals, wenn deine Behauptung gegen das ursprüngliche Problem in der Frage wahr gewesen wäre, hätte ich niemals eine solche Frage gepostet oder wäre zumindest einmal innerhalb des Zeitraums von 6 Jahren von irgendjemandem benachrichtigt worden, und wahrscheinlich bereits am ersten Tag. Manche Leute sagen, es funktioniert, manche sagen, es funktioniert nicht. Ich sage, es funktioniert nicht. Bitte lies die Frage sorgfältiger und berücksichtige andere Faktoren, die du wahrscheinlich übersiehst. Danke.
0 Stimmen
Ja, das reguläre Öffnen durch (Doppelklick) funktioniert mit UTF8 BOM. Getestet mit Excel 2007 und 2010. Bitte lass mich in Ruhe.
0 Stimmen
Ich habe diese Seite besucht - constitution.kremlin.ru - die eine UTF-8 Seite ist, wie durch das Tag "" belegt. Ich habe die Seite als .txt-Datei gespeichert und dann mit Excel 2010 geöffnet. Der Textimport-Assistent wurde automatisch aufgerufen und zeigte den Dateiursprung als "65001: Unicode (UTF-8) an. Ich habe einfach auf Fertiggestellt geklickt und Excel hat die Seite auf Russisch angezeigt, was ich nicht lesen kann. Wenn Sie Leute eine UTF-8-Datei öffnen, wird dann nicht automatisch der Text Import-Assistent aufgerufen?
0 Stimmen
@yky Ich erinnere mich nicht wirklich und weiß nicht einmal die genaue Version, mit der ich das Problem getestet habe. Vielleicht haben Sie seitdem einige Excel-Updates?
0 Stimmen
Ich verwende Excel 2011 Mac-Version. Es kann kein UTF-8 mit BOM verarbeiten.
1 Stimmen
Die richtige Antwort sollte wahrscheinlich "Verwenden Sie nicht Microsoft" lauten. Es gibt bessere Alternativen, z.B. die kostenlose und Open-Source LibreOffice-Suite, insbesondere LibreOffice Calc. Es ist 2020, aber die Excel-Mobil-App kann immer noch keine UTF-8 ordnungsgemäß anzeigen. Das ist lächerlich.
1 Stimmen
Ist es nicht verrückt, dass ich genau 12 Jahre nach diesem Thread heute auf dasselbe Problem gestoßen bin, aber mit Excel? Daten ins Spanische übersetzt und dann als CSV extrahiert und versucht, sie in Excel zu öffnen. Akzentuierte Zeichen sehen aus wie Müll. Hören Microsoft tatsächlich auf diejenigen, die ihre Produkte verwenden?