原文:http://telecom.chinaitlab.com/news/872608.html点击打开链接
一 url to android
JAVA在网络传输中使用的编码是"ISO-8859-1",故在输出时需要进行转化。我们再我们的服务端进行这样转码。
String str="中文";
str=new String(str.getBytes("GB2312"),"8859_1");
android接受端 进行如下解码。
这正好与在网页中输出相反如:
str=new String(str.getBytes("8859_1"),"GB2312");
二 android to url
android进行如下编码。
java.net.URLEncoder.encode(address,"gb2312") 基本意思是把我发送的内容进行编码为gb2312
服务端进行如下解码
request.getParameter("address")。getBytes("iso-8859-1"),"gb2312"
Android http post中文乱码问题的修正
在使用DefaultHttpClient向服务器发送post请求,在请求体中
发送utf-8编码的数据。
android默认编码是utf-8,所以从EditText获取的text即为utf-8编码的数据。
但是服务器接受就是乱码。
//reqEntity.setContentEncoding("UTF-8");也是乱码。
但是StringEntity reqEntity = new StringEntity(post, HTTP.UTF_8);在构造
中指定则没有问题了。
在进行android应用开发的时候,有时候会用的HTTP与服务端交互,比如用GET和POST方法,然后返回数据,往往会出现返回的中文变成乱码的现象。解决android http中文乱码问题如下。
1、确保服务端输出编码为UTF-8
服务器数据显示格式为UTF-8,在Android的Widget中显示却乱码。在获取时设置一下格式即可。
编写:String strResult = EntityUtils.toString(httpResponse.getEntity(),"UTF-8");
这样android中文乱码问题就能解决了