我是新手,在学习中由于前期没有注意编码导致后来apk上只要输入中文就全是乱码,所以想把自己的经验记录下来。其实很简单,如果在服务器端是post请求,我们只需要加上一句 request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
但是如果是GET请求,上面语句是没有用的,这时需要自己判断编码,然后再进行相应的转码例如:username=new String(username.getBytes("iso-8859-1"),"utf-8");
对于这个终极解决方式是配置tomcat,在这里就不予讲诉了,有兴趣可以自己去搜索。相应的在客户端如果我们不能判断从服务器端发送过来的中文数据是采用哪种编码
这时我们可以采用先判断编码例如:String temp=new String(result);//把byte[] result转成String temp 当然可以直接在服务器端采用getWriter()就不需要转换了
if(temp.contains("gb2312"){
return(String(result,"gb2312"));
}else if(temp.contains("utf-8")){
return temp;
}
//Android默认使用utf-8
这样差不多就可以解决乱码问题了