PHPのfgetcsvでMacのやつやSJISのやつを扱うとき
4月 27th, 2008 admin Posted in PHP, 今日のコード | 2 Comments »
PHPにはCSVを処理してくれるfgetcsvという便利な関数があって、これを使えばダブルクォーテーションとかの処理は考えなくていいようになります。ただし
- CRの改行コードに対応していない
- SJISだと、いわゆる5C問題にひっかかる
という問題があるので、CSVファイルを扱うときはいきなりfgetcsvで読み込むのでなくいったんファイルを作成して、それを読み直すのがよいと思います。以下がファイルを読み込んで改行コードと文字コードを変換してfgetcsvで読み直すサンプルです。
コード
PHP:
-
-
//処理
-
}
11月 1st, 2009 at 22:58:06
[...] PHPのfgetcsvでMacのやつやSJISのやつを扱うとき 「mb_convert_encoding」をする前に「ereg_replace」で文字置換でしてやって、その置換後のファイルを改めてエンコーディングするってことです。 ふ~そうなんや~って感じです。 macとwin やっぱり色々違うもんです。 [...]
3月 3rd, 2011 at 21:36:29
[...] を使うときの注意 http://www.jamboree.jp/cms/archives/146 カテゴリー: PHP パーマリンク ← Perl: [...]