解决PHP导出CSV乱码问题

鸠摩智首席音效师 -
解决PHP导出CSV乱码问题

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

/**
 * @param array $rows
 * @param array $fields
 * @param string $filename
  */
  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);
  }

关键部分,文件头写入BOM标识

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

原文链接:https://koogua.com/article/103

特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

php介绍

PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。

Tags 标签

phpcsv

扩展阅读

加个好友,技术交流

1628738909466805.jpg