php fputcsv亂碼的解決方法:1、將header函數放在fopen之前;2、透過「fopen('php://output', 'a');」直接輸出到瀏覽器;3 、在寫入的第一個字串開頭加bom即可。
本文操作環境:Windows7系統、PHP7.1版,DELL G3電腦
如何解決php fputcsv 亂碼問題?
PHP 用fputcsv()產生csv檔案在windows Excel 下開啟亂碼問題解決
#### ####csv檔案在windows wps和我ubuntu16桌面版下開啟正常。 ######但使用windows Excel 開啟亂碼。 ######解決:###function test() { $fileName = 'demo'; // 几个header函数需要放fopen之前。不然会直接在浏览器页面打印输出。而不是文件下载 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);}
以上是如何解決php fputcsv 亂碼問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!