导出csv在windows下打开容易出现乱码,需要在文件头写BOM标记,已经封装成函数/** *@param数组$rows *@param数组$fields *@paramstring$filename*/functionkg_export_csv($rows,$fields=[],$filename=''){ $文件名=$文件名?:kg_uniqid(); header("内容类型:文本/csv"); header("Content-Disposition:filename={$filename}.csv"); $fp=fopen('php://输出','w'); fwrite($fp,chr(0xEF).chr(0xBB).chr(0xBF)); if($fields)fputcsv($fp,$fields); $index=0; foreach($rowsas$row){ if($index==1000){ $index=0; ob_flush(); 冲洗(); } $index++; fputcsv($fp,$row);}关键部分,文件头写BOM标记fwrite($fp,chr(0xEF).chr(0xBB).chr(0xBF));
