Response.Clear(); 
                Response.Buffer = true; 
                Response.Charset = "UTF-8";                 Response.AddHeader("Content-Disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
                Response.ContentType = "application/ms-excel";
                Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
                Response.WriteFile(path);
                Response.End();
用上面的代码在弹出对话框的时候文件名不乱码,但选择打开文件的时候标题栏文件名就会乱码
我试过好多方法都没解决,各位有什么好的方法啊?

解决方案 »

  1.   

    代码太少了看不出什么:
    可能一:你url编码了,用的时候你解码了没
    可能二:你的编码格式不对
      

  2.   

    内容是乱码就肯定是 Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
    你把GB2312改成utf-8看一下。
      

  3.   

    标题栏的文字的编码不是GB2312的,给成GB2312就可以了
      

  4.   

    怎么改?我改
    Response.AddHeader("Content-Disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
    这句还是没用啊
      

  5.   

    直接在webconfig中设定
    globalization responseEncoding="gb2312"
      

  6.   

    还是用记事本save为utf-8比较直接