URLConnection und encoding

Maik20

Erfahrenes Mitglied
Hallo,

ich öffne wie folgt ein Verbindung zu einer Text-Datei auf einem Server und lese diese ein. Die Datei selbst ist utf-8 codiert. Allerdings werden mir die Sonderzeichen ä ü ... nicht korrekt ausgegeben. Muss ich irgendwo noch das encoding setzen?

Code:
URL url = new URL(surl);			
URLConnection con = url.openConnection();
BufferedReader in = new BufferedReader (new InputStreamReader (con.getInputStream ()));
int lineNumber = 0;
for ( String s; ( s = in.readLine() ) != null; ){
  ...
}
 
Danke für den Tip.

Das mit dem Anzeigen verstehe ich nicht so ganz.

Ich lese die Textdatei aus und vergleiche einzelne Einträge mit einem anderen String etwa so:

Code:
String zeileAusTextdatei = in.readLine();
String programmzeile = "12345";
if (zeileAusTextdatei.equalsIgnoreCase(programmzeile)){
}
System.out.println(zeileAusTextdatei);

Darüber hinaus gebe ich die Zeile in der Konsole aus zum debuggen.

Hab ich irgendwas nicht berücksichtig?
 
Eben, die Ausgabe über die Konsole ist problematisch - Welches Betriebssystem verwendest Du und in welcher Konsole erfolgt die Ausgabe?

Ich habe zum Test mir gerade ein kleines Programm geschrieben, das UTF-8 codiert Zeichen auf der Konsole ausgibt... Die Eclipse Konsole versteht UTF-8 und zeigt die Zeichen richtig an. Starte ich das Programm aus der Windows-Konsole heraus, erhalte ich auch nur Hieroglyphen.

Also besser speicherst Du alles in einer Datei ab und öffnest die Datei mit einem Editor, der mit UTF-8 zurecht kommt oder vergleichst (zB KDiff, Total Commander, etc.) die über die URLConnection gespeicherte Datei mit einem "Original".
 
Zurück