Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 客戶端與服務端JSP相互傳遞中文

Android 客戶端與服務端JSP相互傳遞中文

編輯:關於Android編程

為了兼容簡體、繁體及其他語系,推薦使用UTF-8編碼。

首選,我們看看Android端應該怎麼做:

在發送前,應該對參數值要進行UTF-8編碼,我寫了一個static的 轉換函數,在做發送動作前用它將參數值轉換成utf8編碼:

public class NetUtil {
	static public String toUtf8Url(String value) {
		try {
			return java.net.URLEncoder.encode(value, "utf8");
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			return "";
		}
	}
}

還要注意發送接收函數,返回的httpEntity的返回內容轉成BufferedInputStream然後讀出byte[],再用new String(byte[],"utf8")這種方式獲得返回字符串。



下面是對服務端的處理,首選保證jsp的字符處理都是用UTF-8:


...
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
  request.setCharacterEncoding("UTF-8");

有兩種辦法可讓JSP正確將UTF-8解碼:

第一種辦法簡單,配置tomcat的server.xml:vi 打開server.xml,查找

,然後重啟tomcat即可,無需修改JSP代碼。


第二種辦法,如果沒權限修改tomcat配置,那麼需要手動轉換:

String p_str =URLDecoder.decode(X11checkString((String)request.getParameter("str")),"UTF-8");
// 如果修改了server.xml,可直接用這個 String p_str = X11checkString((String)request.getParameter("str"));



測試如下圖,英文、簡體中文、傳統中文、日語並存也可正確解碼。



  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved