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

回答の条件
  • URL必須
  • 1人3回まで
  • 登録:2007/05/17 14:11:57
  • 終了:2007/05/24 14:15:03

回答(3件)

id:sera_yr No.1

sera_yr回答回数123ベストアンサー獲得回数62007/05/17 18:47:17

ポイント27pt

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

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

mbstring.language = Japanese

id:php-beginner

mbstring.language = Japanese

になってます。

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

2007/05/17 20:55:20
id:tezcello No.2

tezcello回答回数460ベストアンサー獲得回数692007/05/17 18:54:46

ポイント27pt

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


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

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


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

id:php-beginner

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

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

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

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

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

2007/05/17 20:57:16
id:sera_yr No.3

sera_yr回答回数123ベストアンサー獲得回数62007/05/18 15:39:27

ポイント26pt

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

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

id:php-beginner

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

2007/05/21 12:08:44

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません