- ベストアンサー
Fatal error: Call to undefined function mb_internal_encoding()
CAPTCHAのサンプルプログラムを動かそうと思ったのですが Fatal error: Call to undefined function mb_internal_encoding() in ”プログラムのパス” のようなエラーがでて実行することができません。 そこで、このエラー文で検索したところphpの日本語利用の環境ができていないのでは? との回答を見つけたので、参考ページを見て設定を行ったのですが、いまだにエラーが出て実行することができません。 ちなみにこのようなmb_internal_encodingのサンプルを動かすと <?php /* 内部文字エンコーディングをUTF-8に設定 */ mb_internal_encoding("UTF-8"); /* カレントの内部文字エンコーディングを表示 */ echo mb_internal_encoding(); ?> Fatal error: Call to undefined function mb_internal_encoding() in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\mbtest.php on line 2 この様なエラーが出ます。 日本語利用の為の設定で参考にしたサイトは http://www.phpbook.jp/install/phpini/index3.html こちらです。 phpのバージョンは5.2.6でOSはXPSP2です
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
問題解決にはならないですが、とりあえず phpinfo(); で"mbstring"の項目があるかチェックしてみましょう。 なければphp.iniの問題でしょう。 あれば表示内容を再確認です。
その他の回答 (1)
- t_netbug
- ベストアンサー率34% (15/44)
UTF-8を認識していないのではないでしょうか? 自分のPCに入れている環境(XAMPP1.6.3)でjimang様の記述されたソースを書くと問題なく動作します。 恐らく、php.iniの設定に問題があるのではないでしょうか…。 こんなのも見つけたので参考になればと思います。 http://kemuri-net.dip.jp/~server/php/bbs/read.php?FID=5&TID=39
お礼
参考ページはリンク切れしていましたが、前者の方に書いたとおり こちらの確認不足でした。 助言ありがとうございました。
お礼
phpinfoを見てみたところ、mbstringの記述がありませんでした。 いろいろ設定をいじってみたところ、apacheをリスタートさせていなかったので php.iniの設定変更が反映されていないということが分かりました。 助言ありがとうございました。