何故か忘れてしまうんだなこれ。。
d *
これだけなのに。。
2017年11月2日木曜日
2017年6月19日月曜日
fgetcsv で取り込めない問題発生
"能","<p>
あ</p>",""
上記のような3列で1行のSJISのCSVがあった場合、 SJISのロケール追加して、
という環境であっても、
をした後に、fgetcsv() を利用して正常にCSVが取り込むことができない。
別の方法もあった気がしたけど、忘れてしまったのでので今回対応方法をメモ。
考え方としてはiconvコマンドを利用して、SJISファイルをUTF8ファイルに変換してからPHPで取り込むという方法。
あ</p>",""
上記のような3列で1行のSJISのCSVがあった場合、 SJISのロケール追加して、
$ locale -a | grep -i ja ja_JP ja_JP.SJIS ja_JP.eucjp ja_JP.sjis ja_JP.ujis ja_JP.utf8 japanese japanese.euc japanese.sjis
という環境であっても、
setlocale(LC_ALL, 'ja_JP.SJIS');
をした後に、fgetcsv() を利用して正常にCSVが取り込むことができない。
別の方法もあった気がしたけど、忘れてしまったのでので今回対応方法をメモ。
考え方としてはiconvコマンドを利用して、SJISファイルをUTF8ファイルに変換してからPHPで取り込むという方法。
exec("iconv -f sjis-win -t utf-8 " . $path . " -o " . $path); $handle = fopen($path, "r"); $row = fgetcsv($handle, 1024, ',', '"');
登録:
投稿 (Atom)