在android下出现乱码的问题(在网络中传输和获取数据时)

首先,android的编码采用的是国际化通用的UTF-8,这一点是不容质疑的;

其次呢,要你用的编译器是Eclipse,那么Eclipse编译器的默认编码是GBK; //要是你用的是AS那么第一次使用时也建议,把编译器的默认编码都改为UT8

android出现编码最常见的就是在获取和提交数据的时候出现编码的不一致//通常是用 POST,GET请求完成的web容器的默认编码是iso-8859-1,,这里对post和get就不再做过多的讲解了,具体可以产看博文的另一个文章有讲解.

----------------------------------------------------------**********************************************-------------------------------------------------------

*1.指定提交数据的路径,post的方式不需要组拼任何的参数
String path="http://192**********/web/LoginServlet";
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
*2.指定请求的方式post
conn.setRequestMethod("POST");
*3.设置http协议请求头
conn.setRequestProperty();




-----------------------------------
>编码不统一,出现乱码问题//编译器默认是GBK码表
*URLEncoder.encode(qq,"utf-8") //解决中文编码输入的问题,输入时的,客户端


*new String(username.getBytes("iso-8859-1"),"utf-8");//解决获得的编码解析,在web容器默认是iso-8859-1编 //码,getBytes拿回他的二进制,再将二进制以utf-8的编码方式进行解析,服务器端


// 服务器端:getBytes("utf-8");
// 客户端 : baos.write(buffer,0,len);
String result = baos.toString("gb2312");


*gbk编码以utf-8的方式显示>出现菱形加问号  ��ӭ�����һ��������


*utf-8编码以GBK的方式显示> 鐧婚檰鎴愬姛鍟� 鍝堝搱鍝�


*一个悲剧>烤斤烤斤烤斤    //别人的码表被你以其他的方式打开,数据已经丢失了,有些二进制是空字符,也变成这样,所以 //只能重写

你可能感兴趣的:(Android)