答疑本
本篇记录在学习和实际演练过程中所遇到的问题。花费了一定的时间并得以解决,特此记录。
---------------------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=参数值"