请使用<%@ page pageEncoding="UTF-8" %>页面编码
在
里加入使用POST提交方式
public void doFilter(..) {
req.setCharacterEncoding("UTF_8");
resp.setContentType("text/html; charset=UTF-8");
resp.setCharacterEncoding("UTF_8");
}
要保证过滤器处理编码逻辑在request获取第一个提参数之前(过滤器在最前面)
GET提交方式
请使用Javascript先encodeURI(encodeURI(url))处理一下在提交,后端java.net.URLDecoder获取
另外没事干不要修改Tomcat, URIEncoding
还有不要到处写new String(json.getBytes("ISO-8859-1"),"GBK"),看见这个就蛋疼
如果只有这两种情况暂时又找不到原因,简单的可以做下判断浏览器类型,然后分别转码
保证提交的json数据编码和tomcat的URIEncoding编码一致。
是不是你的浏览器默认编码被你改了..