Tomcat服务器.在使用 Ajax get方法的时候中文参数提交到了服务器变成了乱码.
这是因为 Tomcat 默认的 URL 编码为
ISO-8859-1 导致的.以下有两种解决方案.
1.java转换编码方式
1 /**
2 * 转换字符串编码
3 * @param str 要进行转换的字符串
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);