答疑本

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

---------------------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