Rumah  >  Artikel  >  pembangunan bahagian belakang  >  如何解决php fputcsv 乱码问题

如何解决php fputcsv 乱码问题

藏色散人
藏色散人asal
2021-09-12 14:07:592470semak imbas

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

如何解决php fputcsv 乱码问题

本文操作环境:Windows7系统、PHP7.1版,DELL G3电脑

如何解决php fputcsv 乱码问题?

PHP 用fputcsv()生成csv文件在windows Excel 下打开乱码问题解决

csv文件在windows wps和我ubuntu16桌面版下打开正常。

但是使用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视频教程》          

Atas ialah kandungan terperinci 如何解决php fputcsv 乱码问题. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:怎么安装php fileinfo扩展Artikel seterusnya:php怎么实现小说阅读功能