首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > CAD教程 >

webclient的UploadStringAsync方法中文乱码有关问题

2012-02-08 
webclient的UploadStringAsync方法中文乱码问题我在silverlight中向java服务端post数据,使用如下语句:Uri

webclient的UploadStringAsync方法中文乱码问题
我在silverlight中向java服务端post数据,使用如下语句:

Uri endpoint = new Uri("http://127.0.0.1:8080/JsonTest/servlet1",UriKind.Absolute); //指定获取对象地址
  WebClient client = new WebClient();
  client.UploadStringAsync(endpoint, "post", "name=余翔宇");

java 服务端servlet1程序如下:

String s=request.getParameter("name");
System.out.println(s);
String s1=new String(s.getBytes("unicode"),"gb2312");
System.out.println(s1);
String s2=new String(s.getBytes("UTF-8"),"gb2312");
System.out.println(s2);
String s3=new String(s.getBytes("iso8859-1"),"gb2312");
System.out.println(s3);
String s4=new String(s.getBytes("UTF-16"),"gb2312");
System.out.println(s4);

结果均为中文乱码,而如果上传name字符串为英文则没有问题,跪请高手赐教中文乱码问题。

[解决办法]
JAVA没试过,.net下可以用如下方式取得值
int length = context.Request.ContentLength;
byte[] bytes = context.Request.BinaryRead(length);
string name = UTF8Encoding.UTF8.GetString(bytes);
[解决办法]
在客户端将数据转换为16进制,服务器获取后再转换回来
[解决办法]
建议都使用UTF-8的方式进行发送和接受。

热点排行