ERLEDIGT
JA
JA
ANTWORTEN
4
4
ZUGRIFFE
460
460
EMPFEHLEN
-
Hallo,
ich lese mit Hilfe des folgenden Codes eine HTML Seite aus:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
url = new URL( url_String ); urlConnection = url.openConnection(); urlConnection.setAllowUserInteraction(false); InputStream urlStream = url.openStream(); byte b[] = new byte[1000]; int numRead = urlStream.read(b); String content = new String(b, 0, numRead); String newContent = ""; while (numRead != -1) { numRead = urlStream.read(b); if (numRead != -1) { newContent = new String(b, 0, numRead); content += newContent; } } urlStream.close();
naja und dieser Code killt mir alle deutschen Sonderzeichen. Ich verstehe aber nicht wie ich das korrigiere?!
Kann mir jemand helfen
-
Ich denke das wird am Charset liegen.
Du musst aus dem Header der Seite das Charset auslesen (oder einfach ein festes annehmen) und dieses dann für
benutzen.Code java:1
new String(b, 0, numRead, charSetName);
Geändert von zeja (06.08.07 um 15:19 Uhr)
-
hallo,
das funktioniert aber irgendwie nicht
Code :1
String content = new String(b, 0, numRead, "UTF-8");
Auf jeden Fall bei den deutschen Sonderzeichen.
Bitte um Hilfe (ich habe auf jeden Fall nur deutsche Sonderzeichen).
-
Doch geht man muss es natürlich bei beiden Strings ersetzen:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
url = new URL( url_String ); urlConnection = url.openConnection(); urlConnection.setAllowUserInteraction(false); InputStream urlStream = url.openStream(); byte b[] = new byte[1000]; int numRead = urlStream.read(b); String content = new String(b, 0, numRead, "UTF-8"); String newContent = ""; while (numRead != -1) { numRead = urlStream.read(b); if (numRead != -1) { newContent = new String(b, 0, numRead, "UTF-8"); content += newContent; } } urlStream.close();
DAS funktioniert !!
SUPER DANKE
-
Trotzdem solltest du einen StringBuilder bzw StringBuffer benutzen um die Strings zu verketten. Diese mit + zu verketten ist einfach zu langsam.
Und anstatt alles selbst so auszulesen könntest du es auch mit einem BufferedReader probieren:
Code java:1 2 3 4 5 6 7 8
BufferedReader in = new BufferedReader( new InputStreamReader( urlConnection.getInputStream())); String inputLine; while ((inputLine = in.readLine()) != null) { System.out.println(inputLine); }
Ähnliche Themen
-
HTML-Sonderzeichen
Von Smily0412 im Forum JavaAntworten: 1Letzter Beitrag: 14.11.07, 11:59 -
HTML Sonderzeichen maskieren
Von Billie im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 1Letzter Beitrag: 29.03.07, 12:57 -
Xml lesen mit Sonderzeichen
Von LordDeath im Forum .NET DatenverwaltungAntworten: 2Letzter Beitrag: 09.06.06, 13:55 -
Sonderzeichen in der EditBox nach lesen einer Datei
Von PuMi2006 im Forum VisualStudio & MFCAntworten: 2Letzter Beitrag: 18.05.06, 15:21 -
HTML-Sonderzeichen umwandeln?
Von Create im Forum PHPAntworten: 5Letzter Beitrag: 10.05.02, 17:30





Zitieren

Login





