JS或C#中如何把utf-8转成GBK?不要JAVA的。

我发送的XML报文为UTF8的,但是服务器端只接收GBK的,请问怎么把UTF8转换为GBK? JS、C#语言都行。我已经试过的方法:1:更改web.config 为GBK;2:request.setRequestHeader("Content-Type","text/xml;charset=GBK"); 3:JS中的 encodeURI、escape函数。能解决的,我追加分,把我所有的分都给你都行。本人Q:928100040.加上我时候请说明用意,谢谢。

第1个回答  2012-12-01
这个问题前提是服务器端只接收gbk编码的请求,这个改不了。那么就要从客户端想办法将utf8编码的xml转成gbk编码的请求。
1、将xml当中<?xml version="1.0" encoding="UTF-8" standalone="yes"?>改为<?xml version="1.0" encoding="gb2312" standalone="yes"?>(这一点可以最后尝试,这只是我的猜想)
2、在使用HttpWebRequest发送请求时,将utf8的字符串转为gb2312格式的字节数组
System.Text.Encoding gbkEncode = System.Text.Encoding.GetEncoding("gb2312");
byte[] bytes = gbkEncode .GetBytes("要发送的xml字符串");
System.IO.Stream writer = request.GetRequestStream();
writer.Write(bytes, 0, bytes.Length);
这样应该可以,你再尝试一下吧。
第2个回答  2012-11-28
var encoding = Encoding.GetEncoding("gbk");
var bytes = encoding.GetBytes("我是测试文本内容");
// 得到的bytes 就是gbk字符的二进制数组,你可以使用post之类的操作提交到服务器上

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网