Android http中文乱码问题

总结下android下的中文乱码问题,之后开发东西基本就在这里写了。一是经过javaeye能认识很多朋友。二是对本身的博客内容进行管理。三是平时日志在sina的博客里写吧。java

  一  url to  androidandroid

    JAVA在网络传输中使用的编码是"ISO-8859-1",故在输出时须要进行转化。咱们再咱们的服务端进行这样转码。 服务器

    String  str="中文"; 网络

  str=new  String(str.getBytes("GB2312"),"8859_1"); post

android接受端 进行以下解码。编码


这正好与在网页中输出相反如: 
str=new  String(str.getBytes("8859_1"),"GB2312"); url

 

 

二  android to urlspa

  android进行以下编码。.net

   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中文乱码问题以下。

一、确保服务端输出编码为UTF-8

服务器数据显示格式为UTF-8,在Android的Widget中显示却乱码。在获取时设置一下格式便可。

编写: String strResult =  EntityUtils.toString(httpResponse.getEntity(),"UTF-8");
这样android中文乱码问题就能解决了
相关文章
相关标签/搜索