- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:mb_convert_encoding() エラー)
mb_convert_encoding() エラー
このQ&Aのポイント
- mb_convert_encoding()関数が未定義のため、エラーが発生しています。
- PHP.iniファイルの設定や参考サイトの方法を試しましたがエラーが解消されません。
- どのようにすればmb_convert_encoding()関数を使用できるようになるのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
エラー内容的にはmb_convert_encodingが定義されていないということなので > <1> > php.iniファイルの > ;extension=php_mbstring.dll > を > extension=php_mbstring.dll > に変更する この変更が正しく反映されていないようですね。 この変更を行った php.ini は正しいファイルですか? もしかしたらそのPC内にいくつか同じ名前のファイルがあって、全然関係ない(読み込まれない)ファイルを変更してしまっていませんか? 正しいファイルを変更した場合、phpinfo()で表示される情報の中にmbstringという項が表示されると思います。
その他の回答 (1)
- asahina02
- ベストアンサー率47% (95/202)
回答No.2
> XML error: not well-formed (invalid token) at line 3が出ます。 これはxmlpaser_sample1.phpの105行目で出しているエラーですね^^ ということはphp自体は正しく動いているようです。 (mbstringの問題は解決された) で、今回のエラーの原因ですが、おそらく文字コードの問題です。 私の環境で試してる限りでは、sensyu2.xml、xmlpaser_sample1.php共に EUC-JPになっていないとちゃんと動かないみたいです。 mbstring部分の設定が多少違うのでどの文字コードが正しいか不明ですが、 2つのファイルの文字コードを見直してみてください。
質問者
お礼
xml中のEUC-JPの部分を変更したらエラーが出なくなりました! ありがとうございました!b(⌒o⌒)d
お礼
確かにphpinfo()にmbstringという項がありませんでした。 php.iniが2つあり、1つを削除しました。 するとphpinfo()にmbstringが現れました。 しかし新たなエラーが・・・ XML error: not well-formed (invalid token) at line 3が出ます。 現在のphpinfo()のmbstring欄はこうです。 mbstring.detect_order EUC-JP mbstring.encoding_translation On mbstring.func_overload 0 mbstring.http_input auto mbstring.http_output SJIS mbstring.internal_encoding EUC-JP mbstring.language Japanese mbstring.substitute_character no value