Archive for 12 月, 2009

PHPのfgetcsvで日本語が正しく取得できない場合

Posted in PHP on 12 月 25th, 2009 by msng – Be the first to comment

fgetcsv でデータを取ろうとしても
環境によって日本語が正しく取得できないことがあった。

ローカルの開発環境だとちゃんと取れるのに
本番サーバにアップすると変になる。

全然取れないのならまだわかるんだけど、
ちゃんと取れることもあれば
空っぽになることもあるという状態。

どうやらこれが原因だったらしく、

PHP: fgetcsv - Manual

注意: この関数はロケール設定を考慮します。もし LANG が例えば en_US.UTF-8 の場合、 ファイル中の 1 バイトエンコーディングは間違って読み込まれます。

ロケールを設定したらうまくいった。


setlocale(LC_ALL,'ja_JP.UTF-8');