mb_convert_encodingのautoが効かないときー。

文字化けー。
PHPで文字の入出力処理を行ったファイルの中身が文字化けー。
ビジネスで使う言葉を全て英語にすればこんなことにならないのに…と思いつつ。


PHPのマルチバイト関数を使えば万事解決!と思って、文字を書き込む前に、

$load = mb_convert_encoding($load, "SJIS", "auto");

…を追加しました。


すると…

Warning: mb_convert_encoding() [function.mb-convert-encoding]: Unable to detect character encoding in C:\VertrigoServ\www\master\models\IntegrateModel.php on line 201

…というWarningが発生(´・ω・`)
どうやら、php.iniの中でautoを有効にする記述がコメントアウトされていたままのようです。


php.iniの、

#mbstring.detect_order = auto

の部分から#を取り除いて、Apacheを再起動し、再度試してみました。


それでもエラー (゚Д゚)!!!


先ほど追加したばかりのエンコード変換関数の直前に、以下の記述を加えたら解決しました(・∀・)

mb_language("Japanese");