Tomcat服務器.在使用 Ajax get方法的時候中文參數(shù)提交到了服務器變成了亂碼.
這是因為 Tomcat 默認的 URL 編碼為
ISO-8859-1 導致的.以下有兩種解決方案.
1.java轉(zhuǎn)換編碼方式
?1?????/**
?2??????*?轉(zhuǎn)換字符串編碼
?3??????*?@param?str 要進行轉(zhuǎn)換的字符串
?4??????*?@param?oldCode?指定str的編碼
?5??????*?@param?newCode?目標字符串編碼
?6??????*?@return 目標字符串
?7??????*?@throws?UnsupportedEncodingException
?8??????*/
?9?????public static String?transcoding(String?str,String?oldCode,?String?newCode)?throws?UnsupportedEncodingException{
10?????????byte[]?bytes?=?str.getBytes(oldCode);
11?????????String?newStr?=?new?String(bytes,?newCode);
12?????????return?newStr;
13?????}
1?String?name?=?request.getParameter("name");
2?String?resultStr?=?transcoding(name,?"ISO-8859-1",?"UTF-8");
3?System.out.println(resultStr);
2.指定Tomcat URL編碼
1?<Connector?port="80"?protocol="HTTP/1.1"?
2????????????????connectionTimeout="20000"?
3????????????????redirectPort="8444"
4????????????????URIEncoding="UTF-8"/>
在配置http端口的地址添上
URIEncoding="UTF-8".
這樣就可這直接獲取 URL 的屬性
1?String?name?=?request.getParameter("name");
2System.out.println(name);