$m_file1 = urlencode($m_file);
header('application/octet-stream; charset=utf-8'); 
header('Content-Type: application/octet-stream');
header( 'Content-Disposition: attachment; filename="'.$m_file1.'"' );//
readfile("../temp/$m_new_file");
GOGOLE上有说用urlencode的方式能产生中文名称,请问我这样处理,为何得到的还是编码后的文件名?谢谢!

解决方案 »

  1.   

    不懂,你在header('application/octet-stream; charset=utf-8'); 这个之前用echo $m_file1看看对不对呀。如果你$m_file变量之前编码过了,urlencode肯定能解码的。
      

  2.   

    你的文件名不是用urlencode编码了吗?
    用urldecode解码就好了。
      

  3.   

    要把文件名先urlencode保存,后再调用的时候urldecode才可以
      

  4.   

    urlencode  是 将中文加密成十六进制字符串    urldecode  解码:将十六进制代码转化成中文