本教程操作环境:Windows7系统、PHP8.1版、Dell G3电脑。
php导出mysql 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));
登录后复制
推荐学习:《PHP视频教程》
以上就是php导出mysql csv乱码问题怎么解决的详细内容,更多请关注Work网其它相关文章!