Servlet-Applet-Kommunikation: Umlaute in String werden verändert

Charly81

Grünschnabel
Servlet-Applet-Kommunikation: Umlaute im übergebenen String werden verändert

Hallo,
ich habe ein JApplet welches über eine HttpURLConnection ein Servlet aufruft und diesem diverse Parameter übergibt.
Mit diesen Parametern liest das Servlet dann entsprechend Daten aus einer mySQL-Datenbank aus und setzt mir aus den Daten des ResultSets einen String zusammen, den ich dann komplett an das aufrufende Applet zurückschicken möchte.
Der String hat die Form von HTML-Code
(also z.B.:"<html><body>...abcdef...</body></html>"), da ich ihn im JApplet in ein JEditorPane einfügen möchte, um die Ergebnisse optisch ansprechender darzustellen.
.
Das Problem dabei ist, das der String natürlich auch Umlaute und Sonderzeichen enthält und diese vor dem Abschicken zum JApplet auch noch korrekt in der Konsole dargestellt werden.
Wenn ich diesen String dann jedoch im JApplet auslese (auch schon bevor ich ihn in das JEditorPane einfüge!), sind die Umlaute und Sonderzeichen verändert worden.

Ich denke das Problem liegt an den Input-/Output-Streams die ich zum Datentransfer verwende und auf deren Gebiet ich nicht so bewandert bin. Benutzen die Streams etwa irgendwie einen speziellen Zeichensatz um den String verschicken zu können?

Muß ich irgendwo noch explizit einen Zeichensatz / charSet angeben, oder irgendwie das Encoding anpassen?

Wäre um jede Hilfe dankbar!
Hier der relevante Code:

Applet:
...
Vector selectedRows;
URL url= newURL("http://192.168.0.109:8080/meetings/ReportSelectedMeetingTopsServlet");
HttpURLConnection conn=(HttpURLConnection)url.openConnection();
conn.setRequestMethod("POST");
conn.setUseCaches(false);
conn.setDoOutput (true);
conn.setDoInput (true);
ObjectOutputStream out =
new ObjectOutputStream(conn.getOutputStream());
out.writeObject(selectedRows);
out.flush(); out.close();

//Einlesen der Servlet-Daten
ObjectInputStream in=
new ObjectInputStream(conn.getInputStream());
String html = (String)in.readObject();
.......
Servlet:
...
String htmlStatement;

ObjectOutputStream outputToApplet =
new ObjectOutputStream(response.getOutputStream());

outputToApplet.writeObject(htmlStatement);
outputToApplet.flush();
outputToApplet.close();


Ich hoffe das war jetzt nicht zuviel überflüssiger Code :)!
Gruß Charly
 
Zuletzt bearbeitet:
Zurück