我用MTK手机测试,中文文件名成了乱码,索爱手机没问题。我是用header("Location:中文名字")这样的方式提供下载的。另外再问一个相关问题,我用download.php?id=xxx这样的方式,download.php里面完全按照http协议输出文件头,并输出attachment,filename等等,最后echo出文件内容,这样在opera没问题,可是手机下载文件名却成了download.php,真是烦死人。请高手两个问题都解答一下吧。另外,我的编码是utf-8。

解决方案 »

  1.   

    按经验说点可能有用的
    1
    “我是用header("Location:中文名字")这样的方式提供下载的”
    中文名经过转换转到utf-8的形式了么
    2
    “可是手机下载文件名却成了download.php”
    header的mime 输出了么?
    Header("Content-Type: ".$mime); //$mime 为后缀对应的mime 如audio/mp3 image/png 等。。
    然后输出
    Header("Content-Disposition: attachment; filename=xxx.ext");
      

  2.   

    1 是utf-8的
    2 mime type输出了,我输出的是 header('Content-Type: application/octet-stream');
      

  3.   

    1.建议不要用中文。编码问题比较麻烦,你的页面是utf-8但文件名称不一定是,各种手机支持的编码不一样。
    2。需要在apache里配置相应的下载文件类型。
      

  4.   

    出现了同样的问题,没办法,只能在页面用href直接指向服务器上文件地址
      

  5.   

    1. 手机编码支持问题,索爱支持的编码MTK不一定支持。
    2. apache配置问题吧