[PHP-users 10916] 文字コード変換がおかしい?

NIC php-users@php.gr.jp
Thu, 17 Oct 2002 15:57:41 +0900


こんにちは、古屋です。

良くありがちな質問に似ているかもしれないのですが…、同じ変数に対して繰り
返し『mb_convert_encoding』などを実行すると正しく変換されなくなっていく
ものなのでしょうか?

	※最初、$a = "EUC"
	$a = mb_convert_encoding($a,"SJIS","EUC-JP");
	$a = mb_convert_encoding($a,"SJIS","EUC-JP");
	$a = mb_convert_encoding($a,"SJIS","EUC-JP");
	$a = mb_convert_encoding($a,"SJIS","EUC-JP");

のように連続して実行してみたところ、最終的には文字コードが『ASCII』とま
でなってしまいました。
この手の関数は入力した文字列の変数と出力で受ける変数は変えたほうが良いの
でしょうか?
なんだか期待通りに変換してくれないことが多くて困ってます。

何か心当たりのある方がいたら、是非ともご教授願えないでしょうか?

ちなみに、php.iniでは以下のようにしています。
[mbstring]
mbstring.internal_encoding = EUC-JP
mbstring.http_input = SJIS
mbstring.http_output = SJIS
mbstring.detect_order = auto
mbstring.substitute_character = none;