答疑本

本文记录了解决Android客户端与服务器间数据交互时出现的中文乱码问题,包括使用URLEncoder.encode()和URLDecoder.decode()的方法,以及在OkHttp中正确设置字符集的过程。

本篇记录在学习和实际演练过程中所遇到的问题。花费了一定的时间并得以解决,特此记录。

 

---------------------2017.4.18--------------------------


在做毕业设计过程中。android客户端与服务器进行数据交互,用post传输,当有中文时需要用

在发送端把中文字符用URLEncoder.encode()进行转码,在接收端用URLDecoder.decode()进行解码,这样就能正常的提取中文字符了。

【重要】乱码虐我千百遍我待乱码如初恋,我尼玛刚刚还好使,过了一个小时代码没动就不好使了????????

r u kidding me ???? 找了半个多小时的错误,最终找到了:在服务器端,

要在后面加上“UTF-8”,我试了一下去掉之后客户端还是乱码。  不知道之前没加为什么会不乱。。。。。

看来有必要总结一下 两端互传含中文时出现乱码的解决方案。

// response.setContentType("text/html; charset=utf-8");
// response.setContentType("text/json");
// response.setCharacterEncoding("UTF-8");
// response.setHeader("Content-type", "text/html;charset=UTF-8");

以后再出现问题挨个试试看。。

 

 

--------------------------2017.5.3--------------------------

activity或者fragment中添加数据的时候一定要:

private List<PlaceEntity> placelist = new ArrayList<>();//切记要实例化,不然报空指针




---------------------2017.5.10--------------------------

adapter中setText(xxxx+"")中一定加字符串形式;

 

 --------------------2017.5.30----------------------------

okhttp的post传参中带中文出现乱码。解决方法:

不能使用FormEncodingBuilder。但在okhttp3.0以后使用FormBuilder(未测试)。

要使用

RequestBody body = RequestBody.create(MediaType.parse("application/x-www-form-urlencoded;charset=utf-8"),
        params);
其中params是字符串。如:
"platform=app&apiCode=responseBusin&entity=参数值"







 

转载于:https://www.cnblogs.com/antble/p/6727801.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值