Microsoft Excel で編集した Shift_JIS の csv ファイルを PHP でパースする場合、 setlocale(LC_ALL, 'ja_JP.UTF-8') して csv ファイルを UTF-8 に変換して fgetcsv で読み込み ってのが常套手段なんだけど、これは Unix 環境では動くけど、Windows環境では動かない。いや、正確には PHP5までは動いていたんだけど、PHP7になってからは動かなくなってしまった。偶然動いていたのかも。ソースは追ってないからわからないけど。 そもそも、Windows では setlocale(LC_ALL, 'ja_JP.UTF-8') は効かない。MSDNにも以下のように記述されている。 「UTF-7 または UTF-8 のコード ページ値を指定すると、setlocale は失敗し、NULL を返します。」 https: