android下的中文乱码问题

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

  一  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进行如下编码。

  .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((),"UTF-8");

  这样android中文乱码问题就能解决了



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值