FileInfo DownloadFile = new FileInfo(FullFileName); 
Response.Clear();
Response.ClearHeaders();
Response.Buffer=false;
Response.ContentType="application/octet-stream";
Response.AppendHeader("Content-Disposition","attachment;filename=" +HttpUtility.UrlEncode(DownloadFile.Name,System.Text.Encoding.UTF8));
Response.AppendHeader("Content-Length",DownloadFile.Length.ToString());
Response.WriteFile(DownloadFile.FullName);
Response.Flush();
Response.End();

解决方案 »

  1.   

    Response.AppendHeader("Content-Disposition","attachment;filename=" +HttpUtility.UrlEncode(DownloadFile.Name,System.Text.Encoding.GetEncoding("GB2312")));
      

  2.   

    Response.AppendHeader("Content-Disposition","attachment;filename=" +HttpUtility.UrlEncode(DownloadFile.Name,System.Text.Encoding.Default));
      

  3.   

    Response.AppendHeader("Content-Disposition","attachment;filename=" +HttpUtility.UrlEncode(DownloadFile.Name,System.Text.Encoding.Default));这个更加不行,谢谢拉!!!!
      

  4.   

    你不要把文件放在网站目录下,存在别的位置不就行了。兄弟,我就是这样!!!
    但关键不是在于存放在那里的问题!而是长中文名上传是没有问题的,但下载的话就会出现乱码!!!!!!!好想ASP可以解决的!帮手顶!!
      

  5.   

    两个解决办法:
    一如下:
    Response.Clear() 
    Response.AddHeader("Content-Disposition", "attachment; filename=" + File.Name) 
    Response.AddHeader("Content-Length", File.Length.ToString()) 
    Response.ContentType = "application/octet-stream" 
    Response.WriteFile(File.FullName) 
    Response.End() 二,修改服务器的注册表让它支持中文
    能下载下来的文件,文件名是奇数个汉字,不能下载的是偶数个汉字IIS5不支持中文文件名的解决办法修改服务器注册表
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\InetInfo\Parameters]
    "FavorDBCS"=dword:00000001将“FavorDBCS”的值改为“0”  
      

  6.   

    我也遇到过这个问题,最后,我substring(16)
      

  7.   


     回复人: killserver(killserver) ( ) 信誉:94  2005-08-10 19:43:00  得分: 0  
     
     
       我也遇到过这个问题,最后,我substring(16)
    ——————————————————————————————————————————————
    你这样的话,更不行,连后缀都没有了。
    我有想过,如果长度超过了16个字符,那么就截14个字,然后再加上“”或者“___”之后再加上后缀名。
    不过还是没得选择的方法!!!!我相信很多人遇过,一定会有解决方法的!我再顶!!!!
    不会的也帮手顶!!!!!!!!!
    会的指教指教!!或者给点别的意见!!!!
     
      

  8.   

    这不是服务器的事情,这是客户端不同IE版本的问题,我也遇到过,相同的一个文件,有的IE可以下载,有的IE就出现中文乱码,但是设置IE高级选项始终使用UTF-8发送可以解决乱码的问题,但不能解决中文字符太长的问题,不过遇到这种问题的都是xp,在win2003上面没有任何问题!