我在控件中使用 Gridview 导出 但是出现乱码 , 把同样的代码Copy 到同一程序集的其他页面 就不会出现问题,请哪位高手 帮忙解决下

解决方案 »

  1.   

       說到亂碼問題,不少人的第一反應是“UTF-8”。亂碼的實質一般是指簡體繁體轉換時因OS版本不對應導致的,大部分情況下只要將Encode改成UTF8基本上就成了。
       而如果同一段的Code有的地方能用有的地方就不行,肯定不會是Encode的問題。有可能就是前臺控件寫的不規範半。如兩個Label控件疊在一起,Ex: <asp:Label ID="lblTest1" runat="server" Text=""><asp:Label ID="lblTest2" runat="server" Text=""></asp:Label></asp:Label>這種情況下是不會報錯的,lblTest1、lblTest2在Debug時都是OK(這個Bug隱藏的深……),頁面也能顯示lblTest1(lblTest2則不行)。黨我們導出excel并用到這2個label時excel的源碼就會出現不規則代碼(excel其實也只是一段html語言),間接導致了亂碼的出現。
      

  2.   

    utf8,utf7,gb2312....一个个试,知道不是乱码为止。
      

  3.   

    页面编码格式是否一致。
    Response.Write("<meta http-equiv=Content-Type content=text/html;charset=GB2312>");
    Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.xls");
    Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");