[PHP-users 15591]Re: php3で文字化けしてしまいます

Shimosako Akira simosako @ yahoo.co.jp
2003年 5月 31日 (土) 20:32:36 JST


下佐粉です。

日本語環境のLinux上で普通にDB2クライアントが設定されている場合、
クライアント環境はEUC-JPと認識されているはずです。

DBがSJISで作成されていても、クライアントにデータを
持ってきた時点でDB2によって文字コードが自動的にEUCに変換されて、
ユーザ(この場合PHP)は、EUCでデータを受け取るはずです。

それをSJISで受け取るという前提になっているという事は、
特殊な設定を前提にしているように見えますが、どうでしょうか。

 --- s_momo 2 <s_momo2 @ hotmail.com> からのメッセージ:
> >おかしいのは、環境AのDB2の内部コードがSJISに
> >なっていると言う話ではないかな。
> 
> DBはどちらにつないでも、結果が変わらないので、
> DBの問題ではないと思っています。

うーん、どちらのDBのcodepageも同じ値になっていますか?

あと、まずはDB2から取ってきたデータが、両環境で同じ物になっている
か、i18n_convertする前に確認した方がよいのではないでしょうか。
(取ってきたデータを16進数で表示するようにしてみるとか)

DBサーバー側に違いが無いとすると、クライアント側の違い
という事になりますね。

DB2クライアントの環境の確認としては、
Apacheを実行中の環境変数LANGを確認してはどうでしょうか。
両環境で同じになっていますか?
(もしくは、apachectl内でLANGを設定していますか?)


========
下佐粉昭

__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo!  http://bb.yahoo.co.jp/



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