今天开发客户端时发送请求遇到了问题,经过一下午的时间终于解决(其实一句话就可以)。如果哪位朋友也遇到这样问题可以看下面的解决方法。
客户端:android 2.2
服务端:asp.net
遇到问题:android发送get请求时数据编码出错。
因为android默认的编码是utf-8而服务端是GB2312所以传输过程中若有中文会变成乱码,服务端无法正确获得请求。
找了网上很多的例子大多使用String str=new String(str2.getBytes("utf-8"),"GB2312");的方式解决(可以中间加ISO8859_1来中专)。
但是这些方法都不适用于android,至少我写的android客户端无效。
其实java还有一种更为简单的转码方式URLEncoder.encode(str,"GB2312") 只要用这种方法utf-8转gb2312就不是问题了。
例:String str=“中文”;
String url="a.aspx?str="+URLEncoder.encode(str, "GB2312");这样就把"中文"转成gb2312了。