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

KOYAMA Tetsuji koyama @ hoge.org
2003年 6月 4日 (水) 16:57:46 JST


  小山です。

At Wed, 04 Jun 2003 14:42:07 +0900,
s_momo2 wrote:
> 16進でダンプの意味が、以下のようなことであっているか、
> 自信ないのですが、2進数から16進数に変換する関数を使ってやってみました。

  16進ダンプに bin2hex を使うのは正しいです。

> すると、DBからとってきた直後の
> print bin2hex($db->mArray["NAME"])."<br>";
> の結果が違いました。
> 8365835883678347838a8341
> a5c6a5b9a5c8a5a8a5eaa5a2

  s_momo2 さんも、これを機会に日本語の文字コードについて勉強してみては
いかがでしょうか? (笑)

  「テストエリア」を 16進数で表現するとそれぞれ

ShiftJIS: 8365835883678347838a8341
EUC-JP: a5c6a5b9a5c8a5a8a5eaa5a2

となります。つまり、正しいと思われる環境 A では DB から ShiftJIS が
返されており、

> クライアントというのは、DB2につなぎに行くユーザですよね。
> db2inst1の環境変数は、
> ja_JP.eucJP
> です。
> 
> ここで違いがありました。
> 環境Aでは、
> httpsdctlで、
> . /home/db2inst1/sqllib/db2profile
> LANG=ja_JP.ujis
> export LANG
> としています。

の意図してることと異なっているように思います。各々の環境における DB2 
クライアントの設定をもう一度チェックしたほうが良いのではないでしょうか?

-- 
	小山 哲志@ビート・クラフト
	koyama @ beatcraft.com
	koyama @ hoge.org


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