php导出mysql csv出现乱码是什么原因(附解决方法)
现php导出mysql csv出现乱码是什么原因,下面编程教程网小编带大家了解一下解决方法!
原因分析:导出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);
}
以上是编程学习网小编为您介绍的“php导出mysql csv出现乱码是什么原因(附解决方法)”的全面内容,想了解更多关于 php入门 内容,请继续关注编程基础学习网。