当前位置: 首页 > 后端技术 > PHP

解决PHP导出CSV乱码问题

时间:2023-03-29 17:41:00 PHP

导出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));