在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中Toast的常用使用方式总结
- Android中圆形图的几种实现方式
- 如何在Android中整合立体声音效处理库|OpenCORE|组件间隧道通信
- Android布局方式(FrameLayout)学习
- API接口JWT方式的Token认证(下),客户端(Android)的实现
- 刷中兴N760经历,最靠谱的方式刷Android有感
- Android判断设备网络连接状态及判断连接方式的方法
- 音视频学习之NDK交叉编译基础
- Android(安卓)Studio 调试过程中快捷查看断点处变量值(Ctrl+Shift