本教程操作环境: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乱码问题怎么解决的详细内容。
