PHP生成的CSV格式打开乱码

来源:互联网 发布:古埃及神话知乎 编辑:程序博客网 时间:2024/05/22 12:07

利用Laravel-Excel导出生成了一个CSV格式,然后打开发现格式乱码。

既然出现是乱码,那肯定就是编码格式问题,右键另存为UTF-8格式,CSV正常显示。

然后利用Notepad 打开文件,查看文件编码格式确实是UTF-8的格式,但是确实在Office中打开显示乱码。

接着查看了一下,另存为的编码格式,发现其编码格式是UTF-8 BOM格式。

实际上因为微软系列软件是需要有bom头才视作utf8处理,

因此,在生成的php文件中,我们需要给csv添加一行BOM头信息。

如果是在laravel中,可以使用Storage

<?php    Storage::prepend($your_csv_file_path,chr(0xEF).chr(0xBB).chr(0xBF));//Storage的prepend方法会默认给添加的文字进行换行(PHP_EOL),如果不能忍受换行,可以直接修改?>
$content = Storage::get($your_csv_file_paht);        $content =  chr(0xEF).chr(0xBB).chr(0xBF).$content;        Storage::put($your_csv_file_paht, $content);
阅读全文
0 0
原创粉丝点击