get请求中文乱码:
$.get("testServlet",{username:"你好"},function () {
})
首先,浏览器将参数username以utf-8编码拼接在url后面
http://localhost:8080/travel/testServlet?username=%E4%BD%A0%E5%A5%BD
然后,tomcat收到参数,默认以iso-8859-1进行解码,即utf-8编码的数据用iso-8859-1解码,于是出现中文乱码
解决方法:
先对参数以iso-8859-1方式进行反向编码,得到从浏览器以utf-8编码的参数,再以utf-8方式进行解码,得到中文参数。
String username = request.getParameter("username");
username = URLEncoder.encode(username,"iso-8859-1");
username = URLDecoder.decode(username, "utf-8");
System.out.println(username);