fgetcsv 半角カナ
PHP5 fgetcsvで詰まったよ。
よく言われてる文字化け。
PHP5のfgetcsvは文字コードがロケールに影響されるわけだけど
setlocale(LC_ALL, '0'); // 現在のロケールを取得
まぁ、よく知らない。
よく使われるのは、
$data = file_get_contents( 'import.csv' ); $data = mb_convert_encoding( $data, "utf-8", "SJIS-win" ); $fp = tmpfile(); fwrite($fp, $data); rewind($fp);
なんていう文字コード変更したテンポラリファイルを使う方法。
これも制限とか面倒だったのでCSVを開いてUTF-8で保存したものを使った
んだけど半角カナだけ先頭が文字化けしてしまう。
バイトが欠けてるんだろうなーと思って試しに
全フィールドに "(ダブルクォート)付けてみたら無事に読み込めた。
"文字列"
半角カナだと囲い文字いるんだね〜 というかxlsから変換するとき
付けてくれればいいのに。。
ちなみに、fgetcsvで囲い文字を空にしてみたらエラーでました。