Also das mit den unterschiedlichen Umgebungen müsstest du noch mal erklären.
Ggf. kannst du doch unterschiedliche LF's/Views nutzen die die Daten auf Unicode casten, so dass du hier flexibler wirst.
Unser Web-Server läuft auf einem Linux-Server. Und der Zugriff auf die iSeries-Datenbanken somit über den iSeries-Access ODBC-Treiber für Linux. Dieser ist jedoch kein Unicode-Treiber, sondern ein ANSI-Treiber. Deshalb können Strings als Parameter auch nicht im Unicode-Format übergeben werden. Wir müssen also die UTF-8 Texte, die der Kunde im Internet eingibt, immer erst ins (single-byte) ISO-Format konvertieren und dann als Parameter an die iSeries schicken. Dafür ist es natürlich notwendig, dass die Locale auf das entsprechende Land eingestellt ist. Und je nach Locale wird dann ein connect() unter PHP durchgeführt. Dieser connect() gilt dann auch nur für diesen Aufruf mit der jeweiligen Ländereinstellung. Wenn wir eine pconnect() verwenden würden, könnte es theoretisch sein, dass ein polnischer Kunde mit der Locale PL_pl eine Verbindung benutzen würde, die unter der Locale DE_de erstellt wurde. Dann gäbe es falsche Zeichen. Ich brauche also eine eindeutige Zuordnung zwischen dem Kunden und der Verbindung mit der richtigen Locale.

Ein Cast auf Unicode bringt also in dem Fall nichts. Außerdem bräuchte ich ja dann pro Sprachraum eine LF.

Gruß,
KM