Heim  >  Artikel  >  Backend-Entwicklung  >  So lösen Sie das verstümmelte Problem von PHP Fputcsv

So lösen Sie das verstümmelte Problem von PHP Fputcsv

藏色散人
藏色散人Original
2021-09-12 14:07:592530Durchsuche

Lösung für das verstümmelte PHP-fputcsv: 1. Platzieren Sie die Header-Funktion vor fopen; 2. Geben Sie sie direkt über „fopen('php://output', 'a');“ aus bom am Anfang der ersten Zeichenfolge.

So lösen Sie das verstümmelte Problem von PHP Fputcsv

Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

Wie löse ich das verstümmelte PHP-Fputcsv-Problem?

PHP verwendet fputcsv(), um CSV-Dateien zu generieren und Öffnen Sie das verstümmelte Problem unter Windows Excel. Lösung: Die CSV-Datei wird unter Windows WPS und meiner Ubuntu16-Desktopversion normal geöffnet.

Aber mit Windows Excel, um verstümmelte Zeichen zu öffnen.

Lösung:

    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);}
Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo lösen Sie das verstümmelte Problem von PHP Fputcsv. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn