Android http中文亂碼問題

總結下android下的中文亂碼問題,之後開發東西基本就在這裏寫了。一是經過javaeye能認識很多朋友。二是對本身的博客內容進行管理。三是平時日誌在sina的博客裏寫吧。java

  一  url to  androidandroid

    JAVA在網絡傳輸中使用的編碼是"ISO-8859-1",故在輸出時須要進行轉化。咱們再咱們的服務端進行這樣轉碼。 服務器

    String  str="中文"; 網絡

  str=new  String(str.getBytes("GB2312"),"8859_1"); post

android接受端 進行以下解碼。編碼


這正好與在網頁中輸出相反如: 
str=new  String(str.getBytes("8859_1"),"GB2312"); url

 

 

二  android to urlspa

  android進行以下編碼。.net

   java.net.URLEncoder.encode(address,"gb2312") 基本意思是把我發送的內容進行編碼爲gb2312日誌

  服務端進行以下解碼

   request.getParameter("address").getBytes("iso-8859-1"),"gb2312" 

 

 

 

Android http post中文亂碼問題的修正

在使用DefaultHttpClient向服務器發送post請求,在請求體中
發送utf-8編碼的數據。
android默認編碼是utf-8,因此從EditText獲取的text即爲utf-8編碼的數據。
可是服務器接受就是亂碼。
//reqEntity.setContentEncoding("UTF-8");也是亂碼。
可是StringEntity reqEntity = new StringEntity(post, HTTP.UTF_8);在構造
中指定則沒有問題了。

 

 

 

在進行android應用開發的時候,有時候會用的HTTP與服務端交互,好比用GET和POST方法,而後返回數據,每每會出現返回的中文變成亂碼的現象。解決android http中文亂碼問題以下。

一、確保服務端輸出編碼爲UTF-8

服務器數據顯示格式爲UTF-8,在Android的Widget中顯示卻亂碼。在獲取時設置一下格式便可。

編寫: String strResult =  EntityUtils.toString(httpResponse.getEntity(),"UTF-8");
這樣android中文亂碼問題就能解決了
相關文章
相關標籤/搜索