<?php
header('Content-type: video/mpeg4');//输出的类型
header('Content-Disposition: attachment; filename="文件名.mp4"'); //下载显示的名字
readfile('文件名.mp4');
?>这是一段我所在用的下载代码。
但是,当文件名为中文的时候,下载框和下载后文件显示的名字是乱码。
是PHP在这个下载功能不识别中文吗?应该怎么修改这个PHP下载功能,才能够正常下载带有中文名的文件?phpheader下载

解决方案 »

  1.   

    header("Content-type: text/html; charset=utf-8");
      

  2.   

    先把读取到的文件名进行url_encode转码然后再执行下载程序
      

  3.   

    你看看 你的php文件 格式 ,  文件格式和 代码的 编码格式得一致 不然就会乱码  你的php文件是 utf8的话 你加上这局 header("Content-type: text/html; charset=utf-8");最顶部 
      

  4.   

    加上header("Content-type: text/html; charset=utf-8");
    后一样 不管用啊。
    下载的时候 是中文名字的话还是会显示乱码。
    有没有好用的下载功能?
      

  5.   

    可以将你的下载文件名字iconv()转码下试试