Schenkeli Thomas: UTF-8 geht mit Tomcat, streikt jedoch mit Websphere

Beitrag lesen

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:

  1. XSL-Files beginnen mit <?xml version="1.0" encoding="UTF-8"?>
  2. XSL-Files enthalten: <xsl:output encoding="UTF-8" [....] />
  3. XSL-Files enthalten: <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> als Teil des HTML-Head-Tags
  4. Verwendung einer UTF-8 Datenbank im Hintergrund
  5. Deklaration von UTF-8 als DefaultCharset in der Apache-Webserver Konfigurationsdatei der Webapplikation:
    "AddDefaultCharset UTF-8"
  6. 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