Hallo,
nach langem hin und her habe ich es nun geschafft, UTF-8 auf einem Tomcat-Server zum Laufen zu bekommen.
Kurze Zusammenfassung was ich hierfür getan habe:
- XSL-Files beginnen mit <?xml version="1.0" encoding="UTF-8"?>
- XSL-Files enthalten: <xsl:output encoding="UTF-8" [....] />
- XSL-Files enthalten: <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> als Teil des HTML-Head-Tags
- Verwendung einer UTF-8 Datenbank im Hintergrund
- Deklaration von UTF-8 als DefaultCharset in der Apache-Webserver Konfigurationsdatei der Webapplikation:
"AddDefaultCharset UTF-8" - Server-XML des Tomcats: useBodyEncodingForURI="false" URIEncoding="UTF-8"
Nun läuft der UTF-8 Turnaround im Tomcat wie geschmiert, abr am Apache bekomme ich UTF-8 nicht zum Laufen. Ich verwende die selben XSL-Files, das selbe Servlet, die selben Bibliotheken und die selbe Datenbank. Punkt 5, die Deklaration des Default-Charsets wurde auch am Apache des Servers der mit Websphere läuft durchgeführt.
Muss ich am Websphere nun noch wo UTF-8 deklarieren? Das einzige, was ich gefunden hab war additional property namens "client.encoding.override" mit dem Wert UTF-8 das man deklarieren soll (http://publib.boulder.ibm.com/infocenter/iadthelp/v6r0/index.jsp?topic=/com.ibm.etools.iseries.webfacing.doc/tasks/twfutf8.htm)
aber das hat nichts genutzt. Reinvom Namen her klingt es hier ja auch nach einer Brutalo-Lösung (Override) und nicht nahc dem saubern Standard.
Sowhol unter Tomcat als auch unter Websphere wird für ein Euro-zeichen, das per POST eingegeben wird folgendes versandt: %E2%82%AC
Im Tomcat wird das anschließend als € ausgegeben, im Websphere jedoch als "€" also als ISO interpretiert.
Hat irgend jemand eine Idee warum oder Erfahrung mit UTF-8 unter Websphere? besten Dank für eure Hilfe und vor allem auch an dedlfix, er hat mich letzte Woche schon ein Stückchen weiter gebracht auf meinem Weg ;-)
lg
Thomas