Hallo,
ich bräuchte Rat zu folgendem Problem, das ich irgendwie von Grund auf nicht recht verstehe.
Ich möchte aus einer URL den Quelltext auslesen und in der Datenbank ablegen.
Ist die Webseite mit ISO-8859-1 kodiert funktioniert das,
aber mit UTF-8 leider nicht.
Wenn ich den Src mit UTF-8 in den Stream lese und das ganze dann in einen String wandle sind (logischerweise?) keine hmtl-entities mehr drin, bzw. nicht mehr alle ...
Wie kann ich denn einen UTF-8 kodierten Stream so in einen String bekommen, dass der die Entities übersetzt und anzeigt?
Dass in dem String dann z.B. nicht eingeschr㭫ter sondern eingeschränkter steht ?
Geht das irgendwie?
mein Code->>
URLConnection conn = new URL("http://www.taz.de").openConnection();
conn.setDoInput(true);
InputStream in = conn.getInputStream();
StringBuilder sb = new StringBuilder();
String line;
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(in,"utf-8"));
while ((line = reader.readLine()) != null) {
sb.append(line).append("\n");
}
} finally {
in.close();
}
System.out.println("sb.toString():" + sb.toString());
Viele Grüße
Anthrazit
ich bräuchte Rat zu folgendem Problem, das ich irgendwie von Grund auf nicht recht verstehe.
Ich möchte aus einer URL den Quelltext auslesen und in der Datenbank ablegen.
Ist die Webseite mit ISO-8859-1 kodiert funktioniert das,
aber mit UTF-8 leider nicht.
Wenn ich den Src mit UTF-8 in den Stream lese und das ganze dann in einen String wandle sind (logischerweise?) keine hmtl-entities mehr drin, bzw. nicht mehr alle ...
Wie kann ich denn einen UTF-8 kodierten Stream so in einen String bekommen, dass der die Entities übersetzt und anzeigt?
Dass in dem String dann z.B. nicht eingeschr㭫ter sondern eingeschränkter steht ?
Geht das irgendwie?
mein Code->>
URLConnection conn = new URL("http://www.taz.de").openConnection();
conn.setDoInput(true);
InputStream in = conn.getInputStream();
StringBuilder sb = new StringBuilder();
String line;
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(in,"utf-8"));
while ((line = reader.readLine()) != null) {
sb.append(line).append("\n");
}
} finally {
in.close();
}
System.out.println("sb.toString():" + sb.toString());
Viele Grüße
Anthrazit
Comment