ホームページ >バックエンド開発 >PHPの問題 >PHPダウンロード時の中国語文字化けの解決策

PHPダウンロード時の中国語文字化けの解決策

藏色散人
藏色散人オリジナル
2020-07-10 13:23:362543ブラウズ

PHP で中国語の文字化けをダウンロードする場合の解決策: まず、関連するコード ファイルを開き、次に「iconv()」関数を使用して文字化けを解決します。具体的な構文は「$file_name = iconv("utf-8」です。 ","gb2312", $ファイル名);"。

PHPダウンロード時の中国語文字化けの解決策

#php をダウンロードして中国語の文字化けの問題を解決します。

iconv() 関数を使用して、中国語の文字化けの問題を解決します。文字化け

$file_name = iconv("utf-8","gb2312",$file_name);

具体的なダウンロード コードは次のとおりです。

public function downloadAction(){
        header("Content-type:text/html;charset=utf-8");
        // 文件名
        $file_name="中文.txt";
        //用以解决中文不能显示出来的问题
        $file_name = iconv("utf-8","gb2312",$file_name);
        // 文件路径
        // $file_sub_path=$_SERVER['DOCUMENT_ROOT'];
        $file_path=$file_sub_path.'/'.$file_name;
        //首先要判断给定的文件存在与否
        if( !file_exists($file_path) || $file_path=='/' ){
            $arr = array(
'code' => '-103',
'message' => '操作失败',
'data' => '没有该文件文件'
 );
            echo json_encode( $arr );
            die();
        }
        $fp=fopen($file_path,"r");
        $file_size=filesize($file_path);
        //下载文件需要用到的头
        Header("Content-type: application/octet-stream");
        Header("Accept-Ranges: bytes");
        Header("Accept-Length:".$file_size);
        Header("Content-Disposition: attachment; filename=".$file_name);
        $buffer=1024;
        $file_count=0;
        //向浏览器返回数据
        while(!feof($fp) && $file_count<$file_size){
            $file_con=fread($fp,$buffer);
            $file_count+=$buffer;
            echo $file_con;
        }
        fclose($fp);
        die();
    }

関連知識の詳細については、

PHP 中国語 Web サイト をご覧ください。

以上がPHPダウンロード時の中国語文字化けの解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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