Androidhttp中文亂碼問題

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

  一  url to  androidandroid

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

  String  str="中文";網絡

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

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

  這正好與在網頁中輸出相反如:url

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

  二  android to urlcode

  android進行以下編碼。utf-8

  .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((),"UTF-8");

  這樣android中文亂碼問題就能解決了

相關文章
相關標籤/搜索