在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的方式顯示> 鐧婚檰鎴愬姛鍟� 鍝堝搱鍝�


*一個悲劇>烤斤烤斤烤斤    //別人的碼錶被你以其他的方式打開,數據已經丟失了,有些二進制是空字符,也變成這樣,所以 //只能重寫

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章