[PHP-users 28579] ODBC で DB2 からデータ取得時に、全角文字が取得できない。

fogs@mocha.freemail.ne.jp fogs @ mocha.freemail.ne.jp
2006年 2月 25日 (土) 15:20:47 JST


はじめまして、西山といいます。

LINUX上のDB2サーバからデータを取得しようとして問題が出ています。

LINUX.APACHE上のPHPから、odbc関数を使用してDB2のデータを取得します。
odbc_connectやodbc_execを使ったSQL発行は正常に動きます。
ただしselectの結果を確認すると、半角英数字は取れているのですが、全角文字が全
て特定の変な文字に置き換わっています。
置き換わっている部分のデータをbin2hexで見ると"a1"と出ます。

PHPコンパイル時のconfigureに、 '--with-ibm-db2=hoge'、'--enable-mbstring' '-
-enable-zend-multibyte' は指定しています。
php.ini内のmbstring.http_output、mbstring.internal_encodingはEUC-JPにしてお
ります。

データ取得時時に既に文字がおかしくなっているようなので、
ODBCに渡す設定が間違っているのかと疑ったのですが、php.ini等を確認したのです
が問題が発見できません。
他に設定が必要になる等の情報や、同じような事例をご存知の方いらっしゃいません
か。
ご教授おねがいいたします。


環境は以下の通りになります。
CentOS release 4.2
Apache 2.0.52
PHP 4.4.1
DB2 v8.1.2.96  FixPak 10

DB2サーバ側の文字コードはUTF-8です。

よろしくおねがいいたします、



PHP-users メーリングリストの案内