CSVWriter => Umlaute werden nicht richtig angezeigt

H

HerrLehmann

Neues Mitglied
0
Liebe Forums-Teilnehmer,

in meiner App habe ich eine Funktion zum Export von Daten aus der Datenbank in eine CSV-Datei geschrieben. Mein Problem ist, dass in der CSV-Datei die Umlaute nicht richtig angezeigt werden. Aus "Müller" wird dann "Müller".

In meiner App richte ich den CSV-Writer wie folgt ein:

Code:
CSVWriter csvWrite = new CSVWriter(new OutputStreamWriter(new FileOutputStream(file), "UTF-8"), ';', CSVWriter.NO_QUOTE_CHARACTER, "\r\n");

Es klappt aber trotzdem nicht. Ich habe die gleiche App auch für das iPhone in Objective-C geschrieben. Dort funktioniert es. Dort heißt der Befehl:

Code:
[tickerString writeToFile:fileName atomically:YES encoding:NSWindowsCP1252StringEncoding error:nil]

Gibt es etwas vergleichbares auch bei Android?

Danke für eure Hilfe.

Viele Grüße
Lars
 
naja im ios code steht etwas von

windowscp1252 encoding

im android code steht etwas von utf-8

du wirst dich auf einen festlegen müssen.
 
Ich muss gestehen, dass ich daran noch gar nicht gedacht habe. Werde es mal ausprobieren.

Beim Googeln ist mir allerdings aufgefallen, dass windowscp1252 wohl der Standard ist, der bei Android wohl standardmäßig eingestellt ist. Ich hatte vorher gar nichts eingestellt (dann hatte ich wohl die Standardeinstellung) und da hat es mit den Umlauten auch nicht funktioniert.

Bei der iPhone App wird die CSV-Datei verschickt, bei der Android App auf dem Gerät abgespeichert. Könnte es auch daran liegen?
 
Zuletzt bearbeitet:
Also mit windowscp1252 klappt es nicht. Ich erhalte den Fehler

java.io.UnsupportedEncodingException: windowscp1252

Mit UTF-8 werden die Umlaute zwar im Windows-Text-Editor richtig angezeigt, jedoch nicht in der CSV_Datei.

Hat noch jemand eine Idee?

Der ursprüngliche Beitrag von 14:49 Uhr wurde um 15:00 Uhr ergänzt:

Mit ein bisschen Googeln habe ich das Problem gefunden. Neuere Windows Systeme können das UTF-8 Format darstellen, ältere benötigen den Windows CP-1252 Zeichensatz.

Die richtige Bezeichnung dafür ist aber nicht windowscp1252 sondern CP1250. Der Code, um Daten in eine CSV-Datei mit richtigen Umlauten zu exportieren lautet also:

Code:
CSVWriter csvWrite = new CSVWriter(new OutputStreamWriter(new FileOutputStream(file), "CP1250"), ';', CSVWriter.NO_QUOTE_CHARACTER, "\r\n");

Danke Deine Hilfe swordi. Hat mir den richtigen Denkanstoß gegeben.

Viele Grüße
Lars
 

Ähnliche Themen

S
Antworten
7
Aufrufe
1.161
swa00
swa00
SaniMatthias
Antworten
19
Aufrufe
960
swa00
swa00
L
Antworten
17
Aufrufe
1.210
jogimuc
J
Zurück
Oben Unten