PHPでCSV出力する際の文字化け対策 & IEでCSV出力できないのを解決する方法

PHPでのCSV出力の際に文字化けする場合は

print mb_convert_encoding($csv_data,"SJIS-win", "UTF-8");
※まあechoでもいいんだけど

UTF-8からSJISに変換する。ここまではいい。(時間かかったけど(-_-;))
やれやれと思ってIEで開いて見るとなぜかPHPファイルを開いてしまう。。

うーむ。。。と考えていたらweb上に古い記事があってこれがドンぴしゃ

IECSVがダウンロードできない場合の対策。
「header("Pragma: public");」を入れる。

header("Pragma: public");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=member.csv");

色々なサイトで
header("Content-Type: text/csv");
じゃないとDLできないやらなんやら書いているが、今日現在(2011.06.22)の
IE8、FF、Chromeはこれで解決。

やっとできたー