mb_convert_encoding の Warning 対応

引き続き、知り合いの会社のサーバ復旧作業のお手伝い中。
ほんとは一気に作業して復旧させちゃいたいんですが、俺も本来の仕事(プログラミングとか)が終わった後でないと対応できないもんで。

で、昨日は、

Warning: mb_convert_encoding(): Unable to detect character encoding in /var/www/hoge.php on line 86

な、エラー(Warning だけど、表示が乱れて使い物にならないので実質エラー)の解消作業。

ま、PHP 使いの人はよく見てる Warning メッセージでしょうが。(笑)

mb_convert_encoding($hogehoge, 'EUC-JP', 'auto')

を、

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

に修正したら Warning が出なくなるので、典型的な「mbstring.language = Japanese」が有効になってないパターン。
でも、php.ini を見たら、ちゃんと mbstring.language = Japanese の記述が・・・

つーか、php.ini が Document Root に置いてあるんだけど、ほんと?

phpinfo() で調べてみると、ほら、Configuration File (php.ini) Path は、/usr/local/lib になってんじゃん。

/usr/local/lib 以下に php.ini が無いのを確認し、Document Root の php.ini をコピー。Apache を再起動してチェックしたら、バッチリOKです。

ということで、php.ini の置き場所を間違っていたために、mbstring.language の設定が効いていなかった・・・というオチでした。

トラックバック(0)

このブログ記事を参照しているブログ一覧: mb_convert_encoding の Warning 対応

このブログ記事に対するトラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/553

コメントする

このブログ記事について

このページは、shinodaが2009年5月 1日 09:02に書いたブログ記事です。

ひとつ前のブログ記事は「のぞき見エリア」です。

次のブログ記事は「利用できない場所を参照しています・・・か」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。


月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら