php导出mysql csv出现乱码是什么原因(附解决方法)

2024年06月05日 建站教程

现php导出mysql csv出现乱码是什么原因,下面web建站小编带大家了解一下解决方法!

原因分析:导出csv在windows下打开容易出现乱码,需要在文件头部写入BOM标识,已经封装成一个函数了!

解决代码:

fwrite($fp, chr(0xEF) . chr(0xBB) . chr(0xBF));

完整代码:

function kg_export_csv($rows, $fields = [], $filename = '')
{
  $filename = $filename ?: kg_uniqid();
   
  header("Content-Type: text/csv");
  header("Content-Disposition:filename={$filename}.csv");

  $fp = fopen('php://output', 'w');

  fwrite($fp, chr(0xEF) . chr(0xBB) . chr(0xBF));

  if ($fields) fputcsv($fp, $fields);
   
  $index = 0;
  
  foreach ($rows as $row) {
   if ($index == 1000) {
   $index = 0;
   ob_flush();
   flush();
  }
  $index++;
  fputcsv($fp, $row);
}

本文链接:http://so.lmcjl.com/news/6008/

展开阅读全文
相关内容