Hallo zusammen,

meine Problematik passt hier gut rein, deshalb hänge ich mich hier einmal an.
Ich möchte Daten aus der DB2 auf einer utf8-Webseite darstellen und auch Eingaben entgegennehmen und auch wieder korrekt in der DB2 speichern.

Über die PHP-Extension ibm_db2 kann ich dazu Verbindung zur DB2 aufnehmen und Daten auslesen. Beim Auslesen von Daten erhalte ich den deutschen Zeichensatz geliefert. Allerdings wird als Client-CCSID die 65535 (keine Konvertierung) angenommen, so dass beim Speichern eine Konvertierung fehlschlägt. Leider finde ich bisher keine Möglichkeit die CCSID zu beeinflussen. Von der Logik her würde ich erwarten, dass man diese nach dem Verbindungsaufbau mittels db2_set_option setzen kann (ähnlich wie bei MySQL "SET NAMES utf8") - allerdings finde ich hier nichts derartiges. Auch die CCSID des für den Verbindungsaufbau benutzen Users wirkt sich nicht aus.

Wovon hängt die CCSID eines auf einem Apache laufenden PHP-Programms ab, welches sich per PHP-Extension ibm_db2 (letztlich also per ODBC) bei der DB2 anmeldet und wie kann man diese gezielt verändern?

Bin ich überhaupt auf dem richtigen Weg?
Mein Plan:
- DB2 Tabellen als ucs-2 definieren
- connect von PHP zur DB2 auf ucs-2 setzen (da ist die Frage wie?)
- per PHP die UCS-2 Daten intern für die Ausgabe in utf-8 wandeln und beim Speichern den umgekehrten Weg gehen

Für Hinweise, Beurteilungen und Tipps wäre ich sehr dankbar.