Home  >  Article  >  Backend Development  >  Solution to garbled Chinese characters in PHP downloads

Solution to garbled Chinese characters in PHP downloads

藏色散人
藏色散人Original
2020-07-10 13:23:362506browse

Solution to php downloading Chinese garbled characters: first open the relevant code file; then use the "iconv()" function to solve the garbled characters. The specific syntax is "$file_name = iconv("utf-8","gb2312", $file_name);".

Solution to garbled Chinese characters in PHP downloads

php download to solve the problem of Chinese garbled characters

Use iconv() function to solve the problem of garbled characters

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

The specific download code is as follows:

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();
    }

For more related knowledge, please visit PHP Chinese website!

The above is the detailed content of Solution to garbled Chinese characters in PHP downloads. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn