[PHP-users 22341]mb_detect_encodingがfalseを返してしまいます。

Koyama Manabu sm-bunbun-ll @ mx9.tiki.ne.jp
2004年 6月 23日 (水) 17:46:50 JST


小山といいます。

Fedora Core1
PHP4.3.7 + Apache2.0.49 + mysql-4.0.20
IE6.0(Win98SE)
です。

メニュー追加フォームからメニューを入力する際、文字コードを
認識して、"EUC-JP"に変換したく以下のようなコードを書きました。
======================================================
<略>
$strenc=mb_detect_encoding($name,'auto');
$name=mb_convert_encoding($name,"EUC-JP",$strenc);
<略>
====================================================
これでは、登録は出来ているのですが、日本語の表示が
うまくできてません。
なので以下のように変換前のコードを強引に"SJIS"(端末がWin98SEなので)としま
した。
=====================================================
$strenc=mb_detect_encoding($name,'auto');
var_dump($strenc);
$name=mb_convert_encoding($name,"EUC-JP","SJIS");
=====================================================
すると登録もうまくいき、日本語表示もうまく出来ています。
(GNOME端末でmysqlに接続して"SELECT"すると日本語が表示される。)
でも変換前のコードに汎用性がもてません。

var_dumpの値も"bool(false)"と表示されてしまいます。
"mb_detect_encoding"がうまく働いていないと思うのですが、
よく分からないので教えてください。

ちなみにPHPは、"--enable-mbstring' "されています。
よろしくお願いします。





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