げ。auto って決め打ちじゃないんだ
OSX 10.3.9 + PHP 4.3.11 の環境で
mb_convert_encoding( $str, mb_internal_encoding(), "auto" )
がうまく動かない。何かと思ったら OSX ではこの auto が
"ASCII,JIS,UTF-8,EUC-JP,SJIS"
に展開されず、
"ASCII,UTF-8"
になってしまう。なんじゃこりゃ。てことは明示的に
mb_detect_order()
mbstring.detect_order
とか使って "ASCII,JIS,UTF-8,EUC-JP,SJIS" をセットして auto じゃなくて detect_order を使うようにした方がいいのか。なんでこんなんなってんだ。
[2005-10-28 追記]
[PHP-users 25319] Re: mb_convert_encoding/mb_detect_encoding について
マニュアルの記述と挙動が一致してないらしい。mbstring.language を設定しとけと。なるへそ、チェック不足でした。
[2005-11-10 追記]
と思ったけど、4.3.11 ではエンコーディング判別の処理がバグっている模様。cf. [PHP-users 25298] mb_convert_encoding/mb_detect_encoding について どっちみち 10.3.9 ではダメか…。まぁ他のバージョンを使える環境はいくらでもあるが、どうも PHP ってこういうことが多いよな。