81,122
社区成员




public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
//设置请求编码
HttpServletRequest req=(HttpServletRequest)request;
if(req.getMethod().equalsIgnoreCase("post")){
req.setCharacterEncoding("UTF-8");
}else{
Map map=req.getParameterMap();
if(map.size()>0){
Collection values=map.values();
Iterator it=values.iterator();
while (it.hasNext()) {
String[] object = (String[]) it.next();
for (int i = 0; i < object.length; i++) {
object[i]=new String(object[i].getBytes("iso8859-1"),"UTF-8");
}
}
}
}
//设置响应编码
response.setContentType("text/html;charset=UTF-8");
chain.doFilter(request, response);
}
这个过滤器方法你记得要在web.xml里面自己配置一下,如果这个还不可以的话,继续下面
1.重新新建一个项目(随便搭建一个框架只要跑通jsp到action),代码基本就按照现成项目复制过来,注意设置所有编码统一,上面这么多人都说了,肯定还是有用的,过滤器还是用我的吧,你的那个我感觉不对,不要有意见哦,,你要是用了spring的话,就直接配置spring的过滤器,应该是不可能出错的啊,你页面也都编码统一了。
2.还是不行,你就重新换台别人电脑试一下吧,,,,别人电脑没有问题就证明你电脑有问题了,不行找原因就重新装个,也快而且省事,,估计是这些都不需要的,反正要解决这个问题就一步一步来吧,耐心点,说不定你就那个地方写错了,按照上面那么多大哥的方法你都不成功,按理来说是不可能的啊,再回过头来看看吧,,
3.还不行话,那你就坑爹了,砸电脑吧,是公司项目就离职吧,是自己电脑搭建环境就重新开发,网上找个例子试验一下,
这是我解决问题的办法,你试一下,。。。