エラーが出てmb_convert_encodingが使えない。

  • 投稿
  • 編集

PHPで$strに入っているシフトJIS以外の日本語を変換するために

$str = mb_convert_encoding($str, "SJIS", "auto");

echo $str;

と記載してページを表示すると

Warning: mb_convert_encoding() [function.mb-convert-encoding]: Unable to detect character encoding in /home/***/public_html/***.php on line ***

とエラー出て文字化けを起こしました。

phpinfo()で仕様を見てもmbstringの欄はenableと有効になっているが

正常に利用ができませんでした.。

 

しかし、mb_language( 'Japanese' );

を加えたら正常に変換され表示ができました(涙)

mb_language( 'Japanese' );

$str = mb_convert_encoding($str, "SJIS", "auto");

echo $str;

 

次からは必ずmb_language( 'Japanese' );をmb_convert_encodingとセットで使おうと思います。

 

参考ページ

php4.3.11でmb_convert_encoding() - PHP - 教えて!goo
http://oshiete.goo.ne.jp/qa/1678660.html