php5 の fgetcsv() のバグ?

CSVファイルを fgetcsv() で読み込もうとすると、文字コードの影響で正常に取得できないバグがあるらしい。。。

参考サイトはこちら
↓↓↓
PHP5 の fgetcsv() で読み込み内容が腐る現象

まだ実際には試していませんが、今後使用するときの注意事項としてメモリます。

( fgets()で取得してから自前でするって方法もあるかもしれませんが、
ファイル丸ごと文字コード変換してからすれば楽ですよね。。。)

php5 の fgetcsv() のバグ?” への1件のコメント

  1. PHP 5.3 以降であれば、以下で回避できると思います。

    1. php.ini の auto_detect_line_endings を On にする。
     最初に認識した文字(\rか\n)で改行を行う。Mac などで作成された CSV に有効。

    2. fgetcsv の第5引数に “” を指定する。
     文字列に \ が含まれていると、読み込みに失敗するため、エスケープ文字をデフォルトの \ から、当たり障りのない バイナリ0 に変更。

    こんなところでしょうか。