# URLConnection und encoding



## Maik20 (9. Mai 2009)

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?


```
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; ){
  ...
}
```


----------



## Billie (11. Mai 2009)

Du kannst dem InputStreamReader als zweiten Parameter ein Encoding mitgeben... Aber es stellt sich auch die Frage, wie bzw. wo Du die Daten anzeigst.

http://java.sun.com/javase/6/docs/a...Reader(java.io.InputStream, java.lang.String)


----------



## Maik20 (12. Mai 2009)

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:


```
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?


----------



## Billie (13. Mai 2009)

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".


----------



## Maik20 (13. Mai 2009)

Danke für den Tip.


----------

