Ich bin jetzt mit meinem Problem ein ganzes Stück weitergekommen. Allerdings fehlt mir immernoch der letzte Schritt bis zur optimalen Lösung. Ich habe jetzt folgendes eingerichtet bzw. ausprobiert:

1) Die locale des Linux-Servers (auf dem der Webserver und der iSeries ODBC-Treiber für Linux läuft) stelle ich wahlweise auf de_DE bzw. pl_PL (je nach Sprachraum).

2) Im iSeries ODBC-Treiber für Linux habe ich UNICODESQL eingestellt.

3) Bei der Stored Procedure, die über SQL-Call via ODBC aufgerufen wird, habe ich sämtliche Input-Parameter vom Typ CHARACTER mit CCSID 1208 definiert.

Wenn ich nun die Zeichencodierung der Web-Seite auf ISO-8859-1 bzw. ISO-8859-2 (je nach Sprachraum) umstelle und irgendwelche Sonderzeichen in eine Form eingebe, dann werden diese korrekt über die Stored Procedure im UTF-8 Format an die iSeries geschickt.
Wenn ich die Zeichenkodierung im Browser jedoch auf UTF-8 einstelle (so wie wir das geplant haben), dann kommen die Sonderzeichen falsch an. Es werden dann die entsprechenden ANSII-Zeichen geschickt, die zum betreffenden UTF-8 Hex-Code passen.

Hat jemand dafür eine Lösung? Wie kann ich nun erreichen, dass bei Zeichenkodierung UTF-8 auch wirklich die UTF-8 Zeichen geschickt werden?

Gruß,
KM