2012-04-04 6 views
0

ich eine CSV und Schreiben Inhalt in UTF-8 Erstellen von Deutsch und Englisch zu unterstützen, indem sie die Angabe Codierung wie untenCSV Codierung Spezifikation

BufferedWriter outFile = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8")); 

Die oben arbeitet gut, bis ich die unten Separator Anzeige hinzuzufügen (;) in der Kopfzeile von CSV

outFile.write("sep=;"); 
outFile.newLine();  

Ohne dieses Trennzeichen; Meine CSV wird falsch sein, aber wenn ich dies einschließe, ist die Codierung fehlgeschlagen und UTF-8 nicht vorhanden.

Gibt es ein anderes Schlüsselwort wie "sep =", um im Header von CSV anzugeben, um die Codierung anzugeben?

Ich habe versucht, Codierung = "UTF-8" und es funktioniert nicht.

Danke.

+0

Welche Sprache ist das? und warum ist es nicht in den Tags? – hroptatyr

+0

Hallo, das ist in Java. Ich habe Tags hinzugefügt. Danke für die Anzeige – user1312074

+0

Was meinst du mit: Codierung schlägt fehl? – oers

Antwort

0

Sie können eine UTF8-CSV-Datei nicht mit Excel 2007 öffnen. Microsft hat kein Verständnis für das Wort "standards". Aus diesem Grund ist es sehr schwierig, eine CSV-Datei zu erstellen, die in jeder möglichen Anwendung geöffnet wird, die .csv-Dateien liest und die korrekte Kodierung beibehält.

Wenn Sie Excel 2007 verwenden müssen, würde ich vorschlagen, Codierung mit Microsofts eigenen "Windows 1252" verwenden, da es deutsche Zeichen unterstützt. Verwenden Sie nicht die Kopfzeile und suchen Sie auch nach Tab als Trennzeichen. Ja, ich weiß, dass c für Komma steht, aber die Registerkarte scheint mit Excel 2007 konsistenter zu sein, wenn Sie die Datei erneut speichern.