PHPのfgetcsvで日本語が正しく取得できない場合
Posted in PHP on 12 月 25th, 2009 by msng – Be the first to commentfgetcsv でデータを取ろうとしても
環境によって日本語が正しく取得できないことがあった。
ローカルの開発環境だとちゃんと取れるのに
本番サーバにアップすると変になる。
全然取れないのならまだわかるんだけど、
ちゃんと取れることもあれば
空っぽになることもあるという状態。
どうやらこれが原因だったらしく、
注意: この関数はロケール設定を考慮します。もし LANG が例えば en_US.UTF-8 の場合、 ファイル中の 1 バイトエンコーディングは間違って読み込まれます。
ロケールを設定したらうまくいった。
setlocale(LC_ALL,'ja_JP.UTF-8');