Windows版PHP(xampp) の fgetcsv() が、php-5.6 と php-7.1 で挙動が変わったことがわかった。 たぶん php-7.0 から。 fgetcsv() はlocaleに依存する関数なので、 UTF8のCSVを読み込むなら ja_JP.UTF-8 を指定する必要があるとマニュアルにもあるのだけど、 Windowsではそもそも UTF-8 ロケールを指定できない。 php-5.6 では特に何も指定せず、デフォルトの Japanese_Japan.932 のままでもUTF8のファイルを読み込めていた・・たぶん。 手元の開発環境でしかないから、テストケースが少なかった可能性はあるけども。 ともかく挙動は変わっている。 php7以降では、Windowsの場合は C ロケールを設定する必要がある模様。 挙動が違う例 <?php $strCsv = '"サーロイン",
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く