您的位置:首页 > 理论基础 > 计算机网络

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

2015-08-13 09:25 531 查看
首先,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的方式显示> 鐧婚檰鎴愬姛鍟� 鍝堝搱鍝�

*一个悲剧>烤斤烤斤烤斤    //别人的码表被你以其他的方式打开,数据已经丢失了,有些二进制是空字符,也变成这样,所以
//只能重写
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: