android webservice 中文乱码

最近在写一个项目,遇到了中文乱码问题。这个问题很复杂。涉及到了多个模块

android app通过json数据格式向以jersey技术编写的webservice接口发送数据并写入mysql数据库。问题就出在数据库内的数据乱码。

首先先要把mysql的连接校对设置成utf-8 。因为默认是lantin,然后还要把数据库的数据格式设置成utf-8

之后为先保证webservice的数据是正确的。先让其在执行sql语句前输出接收到的内容。

发现在其接收的数据时就已经是乱码了。那么问题肯定出现在android post 数据之前。

json数据格式如何设置字符编码呢

    stringEntity = new StringEntity(jsonObject.toString(), HTTP.UTF_8);实践出来的 。

只有在构造Stringentity时设置字符编码才能正确设置。

如果在设置完Stringentity的内容之后 再设置字符编码结果依然不正确 。

然后在webservice输出结果正确后 设置连接时的字符编码。此编码应与mysql的编码保持一致才能保证其不发生乱码情况 。

    connection = DriverManager
                    .getConnection(
                            "jdbc:mysql://127.0.0.1:3306/teamhow?useUnicode=true&characterEncoding=utf8",
                            "root", "");
在解决所有的设置之后 程序运转正常。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值