ホームページ  >  記事  >  バックエンド開発  >  php fputcsvの文字化け問題を解決する方法

php fputcsvの文字化け問題を解決する方法

藏色散人
藏色散人オリジナル
2021-09-12 14:07:592539ブラウズ

php fputcsv 文字化けの解決策: 1. 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 ビデオ チュートリアル

以上がphp fputcsvの文字化け問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。