前提:要下载的ZIP文件中有中文,所以使用了Encoding处理。代码: Response.ContentType = "application/zip"
            'Response.Charset = "utf-8"
            'Response.ContentEncoding = System.Text.Encoding.UTF8
            Response.AddHeader("Content-Disposition", "attachment; filename=" & HttpUtility.UrlEncode(strFileName, System.Text.Encoding.UTF8) & ".zip")
            Response.TransmitFile(Definition.FileDirPath & strFileName & ".zip")
            Response.End()
下载时,出现 打开 和 保存 的对话框,你懂的是啥样的,
直接点保存的话,没有任何问题,zip下载后是正常汉字,双击打开,zip文件夹也是汉字的。但,
直接点打开,zip文件就被打直接开了,但这时,ZIP文件夹名变成了unicode编码。就是一大串%数字组合那种的。大家谁知道这样问题该怎么解决??

解决方案 »

  1.   

    下载经过了Response.Charset = "utf-8打开就没有固定编码了 可以这么理解不。
      

  2.   


     Path = Server.MapPath(Path);                System.IO.FileInfo file = new System.IO.FileInfo(Path);
                    Response.Clear();
                    Response.HeaderEncoding = System.Text.Encoding.GetEncoding("GB2312");//
                    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(); 
    LZ试试、