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