1. 程式人生 > >專案對接使用httpclient和json傳輸中文亂碼問題解決

專案對接使用httpclient和json傳輸中文亂碼問題解決

最近對倆個專案進行對接,傳輸的json資料中中文顯示是問號,在網上查了好多資料都不能解決我的問題,簡直頭大。有人說倆邊的編碼不一致,我設定為一致後仍然亂碼。嘗試了gzip方法也不行。修改了tomcat編碼為utf-8仍然不行。添加了httppost的各種請求頭資訊仍然不行。最後採用了Unicode轉碼終於不亂碼了。有這種問題的可以試試轉碼解碼。

中文轉unicode碼:

public static String chinaToUnicode(String str){   
        String result="";   
        for (int i = 0;
i < str.length(); i++){ int chr1 = (char) str.charAt(i); result+="\\u" + Integer.toHexString(chr1); } return result; }

unicode轉中文:

public static String Unicode2Chn(String str) {
        
        /** 以 \ u 分割,因為java註釋也能識別unicode,因此中間加了一個空格*/
String[] strs = str.split("\\\\u"); String returnStr = ""; // 由於unicode字串以 \ u 開頭,因此分割出的第一個字元是""。 for (int i = 1; i < strs.length; i++) { returnStr += (char) Integer.valueOf(strs[i], 16).intValue(); } return returnStr; }