PHP 用fputcsv()生成csv檔案在windows Excel 下開啟亂碼問題解決
阿新 • • 發佈:2018-12-26
參考該文章https://segmentfault.com/a/1190000005366832 生成csv,csv檔案在windows wps和我ubuntu16桌面版下開啟正常。但是使用windows Excel 開啟亂碼。
解決:
function test() {
$fileName = 'demo';
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.$fileName.'.csv"');
header('Cache-Control: max-age=0' );
//直接輸出到瀏覽器
$fp = fopen('php://output', 'a');
//在寫入的第一個字串開頭加 bom。
$bom = chr(0xEF).chr(0xBB).chr(0xBF);
$column = [
$bom.'姓名','性別', '年齡'
];
$data = [
'張三','男士', '21'
];
fputcsv($fp, $column);
fputcsv($fp , $data);
fclose($fp);
}