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とセットで使おうと思います。