Problem mit Umlauten

chickenwings

Erfahrenes Mitglied
Hallo,

ich habe folgendes problem mit Umlauten:
ich lesen den Inhalt einer HTML-Seite in einen Stream:

Code:
InputStreamReader isr = new InputStreamReader(post.getResponseBodyAsStream());
BufferedReader br = new BufferedReader(isr);

String line = null;

while ((line = br.readLine()) != null) {
	line = line.replaceAll("ä", "ä").replaceAll("ü", "ü").replaceAll("ö", "ö").replaceAll("Ü", "Ü").replaceAll("Ö", "Ö").replaceAll("Ä", "Ä").replaceAll("ß", "ß");
sb.append(line).append("\n");
}

hier lese ich den Stream Zeile für Zeile und nehmen HTML-Umlautkonvertierungen.

Hier habe ich aber das Problem, daß in line z.B. folgender String auftaucht:
Lüneburg

Dieser sollte in Lüneburg konvertiert werden, was aber nicht möglich ist, da ich diese Sonderzeichen nicht lesen kann. Was kann man da tun?

Danke für die Hilfe
chickenwings
 
Du musst dem InputStreamReader noch als zweites Argument das verwendete Charset mitteilen. Dies steht bei HTML-Seiten im Header.
 
hmm,

leider ist im Header der HTML-Seite kein charset angegeben.
Habe es mal mit ISO-8859-15 und ISO-8859-1 versucht, beides leider vergebens.
Problem ist, daß in der HTML-Seite manchmal Umlaute in Rohform(wie geschrieben), in HTML-Form und in Unicode-Form vorkommen. HTML und UNI-Code Form kann ich ersetzen, die Rohform bereitet dem Stream aber Probleme.

chickenwings
 
Zurück