fgetcsv CSV文字化け
以下の関数でCSVを取得すると、文字化けするときがある。
関数
fgetcsv: ファイルポインタから行を取得し、CSVフィールドを処理する。
str_getcsv: CSV 文字列をパースして配列に格納する。
PHP マニュアル: fgetcsv
fgetcsvのマニュアルに、以下の注意が書いてある。
注意:
この関数はロケール設定を考慮します。もし LANG が例えば en_US.UTF-8 の場合、 ファイル中の 1 バイトエンコーディングは間違って読み込まれます。
PHP マニュアル: setlocale
setlocaleを使うと、ロケール情報を設定できる。
文字化けが直る。
setlocale(LC_ALL, ‘ja_JP.UTF-8’);
setlocaleの後で、fgetcsvを使う。
[2017/06/26]