Karsten: Parameterübergabe an Servlet mit Sonderzeichen

Beitrag lesen

Habe jetz festgestellt, dass ich nicht die Funktion escape() im JavaScript nehmen darf, sondern encodeURI() nehmen muss. der enkodierte String ä wird zu "%C3%A4" - aber wenn ich den ServletAufruf mache und den enkodierten String als Paramter mitgebe, kann er ihn nicht interpretieren und gibt Ä mit einem ~ über dem A und ein seltsames Zeichen aus.

mein 2.Problem ist, wenn ich den String richtig ins Servlet bekommen könnte, dann macht er auch Fehler beim Schreiben der xml-Datei. Möchte in dem SErvlet eine XML-Datei schreiben, wenn ich jetz mal den enkodierten String (nehmen wir ma an, er würde richtig übergebn werden) dekodiere, kommt ja wieder ein ä raus und wenn ichs per out.println ausgebe, steht das ä auch drinnen, schreibe ich die xml mit

// Datei xmlDoc speichern
OutputFormat format = new OutputFormat(xmlDoc,"iso-8859-1",false);
StringWriter stringout = new StringWriter();
XMLSerializer serial = new XMLSerializer(stringout, format);
try {
  serial.asDOMSerializer();
  serial.serialize(xmlDoc.getDocumentElement());
  pout = new PrintWriter(new OutputStreamWriter(new FileOutputStream("/home/localuser/note.xml")));
}catch(IOException ioe) {
  System.out.println("IO-error");
}
pout.println(stringout.toString());
pout.close();

dann schreibt er ? anstelle des ä's in die Datei.

apropos ich verwende Mozilla 1.7 und programmiere ja unter Linux mit Java 1.4.2.

Hat da jmd einen Tipp???
Viele Grüße
Karsten