求助:HTTP传输XML报文中文出现乱码

huangkai277 2013-05-22 12:04:17
我跟客户那边进行传输接口测试,他发送带有中文的XML报文过来我这边,然后我接收报文中文显示的是乱码,我响应返回去带有中文的值,他那边也显示是乱码。 我问他们那边是什么编码,说是GB2312,但我这边也是GB2312啊,不知道为什么还会出现乱码,求大神帮我看看是什么问题。


这个是客户那边发过来的报文
<?xml version="1.0" encoding="gb2312" ?>
<xmlSLZR>
<funcode>104</funcode>
<hy_id>0941</hy_id>
<hydj>350</hydj>
<name>李华</name>
</xmlSLZR>


这是我接收到的报文
<?xml version="1.0" encoding="gb2312" ?>
<xmlSLZR>
<funcode>104</funcode>
<hy_id>0941</hy_id>
<hydj>350</hydj>
<name>涓17¢</name> (出现乱码)
</xmlSLZR>


这是我编码类型代码

Byte[] buffer = System.Text.Encoding.UTF8.GetBytes(answer);
//HTTP头
string responseText = e.MyProccess.http_protocol_versionstring + " 200 OK\r\n";
responseText += "Content-Type: text/xml;charset=gb2312\r\n"; // 指定文件类型,编码
responseText += "Content-Length: " + buffer.Length.ToString() + "\r\n"; //指定发送数据大小
responseText += "Connection: close\r\n"; //指示客户端关闭连接
responseText += "\r\n"; //结束HTTP头
//用字符串的方式写入
e.MyProccess.outputStream.Write(responseText);//写HTTP头
e.MyProccess.outputStream.Write(answer);//写数据

求各位大神帮我看看是不是我编码类型代码的问题?或者写个GBK和UTF-8给我参考一下,谢谢
...全文
1280 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
云-中-飞 2013-05-22
  • 打赏
  • 举报
回复
charset改成gbk或utf-8试试不就行了
Kim_Du 2013-05-22
  • 打赏
  • 举报
回复
http://www.cnblogs.com/fish-li/archive/2012/10/14/2723631.html 刚好看见这个,希望对你有帮助
EnForGrass 2013-05-22
  • 打赏
  • 举报
回复
Byte[] buffer = System.Text.Encoding.UTF8.GetBytes(answer); //HTTP头 string responseText = e.MyProccess.http_protocol_versionstring + " 200 OK\r\n"; responseText += "Content-Type: text/xml;charset=utf-8\r\n"; // 指定文件类型,编码

110,532

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧