最近在做一个项目,其中涉及到设置字符串编码的问题。
可是,不论是用spring自带的filter,还是自定义filter都不起作用,中文数据依然是乱码。
经过我调试发现,两个filter都可以成功的设置编码方式,并且在调试的时候断点设置在doFilter这一行上,获取的数据就是正确的中文。
但是再没有调试的情况下永远是乱码,一直找不到原因十分郁闷,先用了一个笨笨的方法来解决
public void doFilter(ServletRequest request, ServletResponse arg1,
FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding("GB18030");
// System.out.println(request.getCharacterEncoding());
request.getParameterMap();
chain.doFilter(request, arg1);
}
方法挺笨的,不过真的解决了,所以我猜想可能是 chain.doFilter(request, arg1);这出了问题
问题解决,struts2 配置文件
<constant name="struts.i18n.encoding" value="gbk" />
见笑了
struts2 filter设置字符编码不起作用之傻瓜式解决方案
最新推荐文章于 2021-03-16 13:03:15 发布