範例:
$fp = fopen("report.csv","w");
//fwrite($fp, iconv('UTF-8', 'BIG5',$output)) //註1
fwrite($fp, "\xEF\xBB\xBF".$output) //註2
說明:
1.此段將$output寫入檔案report.csv,其中$output為UTF-8編碼之資料
2.註1為原本使用方法,先將$output轉碼為Big5,但遇到Big5中無相對應之字,則會發生內容遺失的情況。
3.註2在$output前加上"\xEF\xBB\xBF",此為寫入BOM標籤,目的在使Excel能正確讀取UTF-8編碼。
附帶說明:
BOM標籤有可能會使文字編輯器對內容編碼造成誤判,不過情況非常非常非常非常罕見......
詳見http://blog.roodo.com/rocksaying/archives/1096340.html
$fp = fopen("report.csv","w");
//fwrite($fp, iconv('UTF-8', 'BIG5',$output)) //註1
fwrite($fp, "\xEF\xBB\xBF".$output) //註2
說明:
1.此段將$output寫入檔案report.csv,其中$output為UTF-8編碼之資料
2.註1為原本使用方法,先將$output轉碼為Big5,但遇到Big5中無相對應之字,則會發生內容遺失的情況。
3.註2在$output前加上"\xEF\xBB\xBF",此為寫入BOM標籤,目的在使Excel能正確讀取UTF-8編碼。
附帶說明:
BOM標籤有可能會使文字編輯器對內容編碼造成誤判,不過情況非常非常非常非常罕見......
詳見http://blog.roodo.com/rocksaying/archives/1096340.html
留言
小弟使用excel2007,可正常顯示。
請試試看以下code產出的檔案:
$output .= "測試,A,B,C\r\n";
$output .= "测试,A,B,C\r\n";
$fp = fopen("report.csv","w");
fwrite($fp, "\xEF\xBB\xBF".$output);