Ist die Locale nicht Sache des Scripts ?
Wird im Connect eine Locale angegeben ?
Beim connect() selbst kann man keine Locale angeben. Jedoch kommen die Verbindungen, die mit pconnect() erstellt wurden, durcheinander, wenn man im PHP-Script ständig die Locale umschaltet. Deshalb gibt es pro Request eine eindeutige Verbindung, die danach wieder beendet wird. Wir haben damals in alle möglichen Richtungen getestet. Und es blieb nichts anderes übrig.

Ansonsten würde ich mal nach einem UNICODE-fähigen Treiber für Linux suchen, die müsse es ja auch geben.
Von IBM gibt's keinen. Gab's damals zumindest noch nicht.

Und was den Cast angeht, so kann man das schon dynamisieren wenn an Hand der Daten die CCSID erkennbar ist.
Anhand der Daten ist das ja nicht erkennbar. Es muß immer ein separater Parameter mit übergeben werden, der die Sprache kennzeichnet.