Zeichenkodierung beim Einlesen - Umlaute nicht kodiert

janw

Mitglied
Hallo,

ich hab mal eine Frage zu einem Gebiet, in dem ich mich nicht wirklich gut auskenne:
Ich lese in Java eine Datei ein, in der die Sonderzeichen nicht speziell kodiert sind.
Also eine Datei, in die ich unter Windows Umlaute "direkt" über die Tastatur eingegeben.

Von welcher Kodierung spricht man dann bzw. welchen Zeichensatz erwarte ich?
Ist es dann der ANSI-Zeichensatz? Oder ISO-Latin-1?
Soweit ich weiß, enthalten beide Zeichensätze deutsche Umlaute.

Das Einlesen selbst geschieht unter Linux.

Code:
BufferedReader in = new BufferedReader(new FileReader(file));
String line;
while((line = in.readLine()) != null){
  ...
Gruß
Jan
 
hab nochmal nachgelesen, ich erwarte anscheinend den "ISO-8859-1 Latin-1" Zeichensatz.
Da das Einlesen unter Linux ja funktioniert, unterstützt Linux (Suse 9.0) diesen Zeichensatz anscheinend?

Jan
 
Linux unterstützt, je nach Einstellung, Zeichensätze bis UTF-8. Windows soviel ich weiß geht bis 16.

Da muss man genauso beim rauschreiben drauf achten...denn die Funktion .getBytes() by Strings ist nämlich vom Zeichensatz abhängig.
 
der linux-rechner, auf dem es läuft, unterstützt das dann anscheinend...gut zu wissen :)
rausschreiben tut ein anderer Prozess, der ist anscheinend auch in der Lage, Umlaute zu schreiben.
 
Zurück