php fputcsv乱码的解决办法:1、将header函数放在fopen之前;2、通过“fopen('php://output', 'a');”直接输出到浏览器;3、在写入的第一个字符串开头加bom即可。

本文操作环境:Windows7系统、PHP7.1版,DELL G3电脑
如何解决php fputcsv 乱码问题?
PHP 用fputcsv()生成csv文件在windows Excel 下打开乱码问题解决
csv文件在windows wps和我ubuntu16桌面版下打开正常。
立即学习“PHP免费学习笔记(深入)”;
但是使用windows Excel 打开乱码。
解决:
function test() {
$fileName = 'demo';
// 几个header函数需要放fopen之前。不然会直接在浏览器页面打印输出。而不是文件下载
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.$fileName.'.csv"');
header('Cache-Control: max-age=0');
//直接输出到浏览器
$fp = fopen('php://output', 'a');
//在写入的第一个字符串开头加 bom。
$bom = chr(0xEF).chr(0xBB).chr(0xBF);
$column = [
$bom.'姓名','性别', '年龄'
];
$data = [
'张三','男士', '21'
];
fputcsv($fp, $column);
fputcsv($fp, $data);
fclose($fp);}推荐学习:《PHP视频教程》
以上就是如何解决php fputcsv 乱码问题的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号