スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[PHP] mb_convert_encoding() でエラー

Q.
正常に動いていたはずのPHPスクリプトが、違うサーバに置いたところ
Warning: mb_convert_encoding(): Illegal character encoding specified in ~
というようなエラーがたくさん出るようになりました。

A.
おそらく、mb_detect_order() の文字コード検出の違いによるものかと思われます。
入力文字の文字コード判別の際に mb_detect_encoding() を使っており、
そこで第二引数(文字エンコーディングのリスト)を省略していませんか?
mb_detect_encoding() で第二引数を明示するか、mb_detect_order() を適切に
設定しましょう。

たとえばこういうこと。

mb_detect_encoding( $_POST['hoge'] );

mb_detect_encoding( $_POST['hoge'] ,"auto" );


また、文字エンコーディングを "auto" とした場合は文字列が短い場合に
思わぬ誤判断をする場合があるので、明示的に指定するのがよいでしょう。

mb_detect_encoding( $_POST['hoge'] ,"ASCII,JIS,UTF-8,EUC-JP,SJIS" );

関連記事
スポンサーサイト

comment

管理者にだけメッセージを送る

検索フォーム
リンク
最新記事
最新コメント
カテゴリ
RSSリンクの表示
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。