人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

windowsのローカル環境のphp4.4をphp4.7にバージョンアップしたらmb_convert_encoding関数のみエラーが出るようになってしまいました。

おそらくphp.iniの設定だと思うのですが解決できません。
現在、extension=php_mbstring.dllをコメントを解除してextension_dir = "C:\php\extensions"のように設定しています。



エラーメッセージ
Warning: mb_convert_encoding() [function.mb-convert-encoding]: Unable to detect character encoding


●質問者: php-beginner
●カテゴリ:ウェブ制作
✍キーワード:DLL Extensions MB PHP Warning
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● sera_yr
●27ポイント

http://search.net-newbie.com/php/ref.mbstring.html

php.ini の mbstring.language には何か指定されていますでしょうか。もしコメントアウトされているようであれば、以下のように指定し、Apacheを再起動することで上手くいくかと思います。

mbstring.language = Japanese

◎質問者からの返答

mbstring.language = Japanese

になってます。

質問の後、色々試した結果、autoを使った場合のみエラーが出るみたいです。


2 ● tezcello
●27ポイント

日本PHPユーザー会によりますと、4.4.7 が4.xの最新のようなのですが4.7であってますか?


language 設定が抜けていると失敗するとの報告もあるようですが、どうでしょうか?

http://ml.php.gr.jp/pipermail/php-users/2004-May/022335.html


もっと古いバージョンでは、mb_convert_encoding() にバグがあったらしいですけど。

◎質問者からの返答

すいません、勘違いでした。4.4.7です。

autoを使わなければ問題なくいけるんですよね・・・。

mb_convert_encoding($theValue, 'UTF-8', 'EUC-JP,SJIS,ASCII,JIS')

こんな感じでやればOKなんですが。

全部書き直すよりかはautoを使えるようにしたほうが効率がいいかと・・・。


3 ● sera_yr
●26ポイント

http://search.net-newbie.com/php/ref.mbstring.html

mbstring.detect_orderはphp.iniに設定されていますでしょうか?mb_convert_encodingのautoはmbstring.detect_orderに設定された値を参照するので、設定自体が無いとエラーになると思います。

◎質問者からの返答

mbstring.detect_order = auto をコメントアウト済みなのですが上手く行きません

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ