專案對接使用httpclient和json傳輸中文亂碼問題解決
阿新 • • 發佈:2019-01-02
最近對倆個專案進行對接,傳輸的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;
}