当前位置:编程学习 > C#/ASP.NET >>

response.write('xml内容') 中文出现乱码

            string strSql = "";



            strSql += "<?xml version=\"1.0\" encoding=\"GB2312\"?>";
            strSql += "<menu count='16' pageall='2' page='1'> ";
            strSql += " <item id='1' title='x1' date='2009-7-6' ly='中午中' msg='1'/> ";
            strSql += " <item id='2' title='x2' date='2009-7-6' ly='1' msg='2'/> ";
            strSql += " <item id='3' title='x3' date='2009-7-6' ly='1' msg='3'/> ";
            strSql += " <item id='4' title='x4' date='2009-7-6' ly='1' msg='4'/> ";
            strSql += " </menu>";

            Response.ContentType = "text/xml";
            Response.Charset = "GB2312";

            Response.Write(strSql); --------------------编程问答--------------------   <?xml version="1.0" encoding="GB2312" ?> 
- <menu count="16" pageall="2" page="1">
  <item id="1" title="x1" date="2009-7-6" ly="涓崍" msg="1" /> 
  <item id="2" title="x2" date="2009-7-6" ly="1" msg="2" /> 
  <item id="3" title="x3" date="2009-7-6" ly="1" msg="3" /> 
  <item id="4" title="x4" date="2009-7-6" ly="1" msg="4" /> 
  </menu>

这个是输出的内容,,,中文部分是乱码,而且有中文的地方如果是奇数个就出现错误,偶数个就是这样乱码 --------------------编程问答-------------------- Response.Encoding = "UTF8"; --------------------编程问答-------------------- 如果编码用UTF8那是正常的啊,可是这里有中文,我才用了GB2312的啊,这样有错吗?请教 --------------------编程问答-------------------- 有没有人碰到过啊? --------------------编程问答-------------------- 中文的话要用UTF-8 编码 --------------------编程问答--------------------  Response.Write(Server.HtmlEncode("…………"));试试这个 不知道是不是你想要的 --------------------编程问答--------------------
引用 3 楼 csgxiao 的回复:
如果编码用UTF8那是正常的啊,可是这里有中文,我才用了GB2312的啊,这样有错吗?请教


不是只有GB2312 才是中文。

到处都是UTF-8,你突然来个GB2312,当然乱码。 --------------------编程问答-------------------- 回答七楼的:我在这个页面输出采用的GB2312的格式,GB2312不是包括中文的吗,
用UTF-8我试了一下是可以的,可就是GB2312 不行,搞了几个小时这种输出的方法不能用。 --------------------编程问答--------------------
引用 7 楼 winner2050 的回复:
引用 3 楼 csgxiao 的回复:
如果编码用UTF8那是正常的啊,可是这里有中文,我才用了GB2312的啊,这样有错吗?请教


不是只有GB2312 才是中文。

到处都是UTF-8,你突然来个GB2312,当然乱码。


.. --------------------编程问答--------------------
引用 7 楼 winner2050 的回复:
引用 3 楼 csgxiao 的回复:
如果编码用UTF8那是正常的啊,可是这里有中文,我才用了GB2312的啊,这样有错吗?请教


不是只有GB2312 才是中文。

到处都是UTF-8,你突然来个GB2312,当然乱码。


对 --------------------编程问答-------------------- strSql += " <item id='1' title='x1' date='2009-7-6' ly='中午中' msg='1'/> "; 
这里边中文字符就是UTF-8的。你得把它转变成用GB2312编码的字符串之后用GB2312编码格式输出才可以。 --------------------编程问答-------------------- Response.Encoding = "UTF8";没错 --------------------编程问答-------------------- 恩,用encoding转码
--------------------编程问答-------------------- ASP.NET(C#)技术联盟高级群,欢迎工作中的朋友进来一起探讨并解决工作中遇到的问题!一群37078937(已满)二群37078867三群37078820(欢迎上海地区的朋友)
严禁加多群,群定期清理长期不发言不讨论的朋友,请多包涵。
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,