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接受端 進行以下解碼。編碼

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

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

    二  android to url日誌

    android進行以下編碼。code

    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中文亂碼問題就能解決了

相關文章
相關標籤/搜索