post方式乱码解决:request.setCharacterEncoding
get方式乱码解决,或超链接中参数的乱码:new String(parameter.getBytes("ISO8859-1"),"utf-8");
下面是论坛上的一些解决方法:
http://topic.csdn.net/u/20081216/16/4cfdc611-851f-4d41-873e-6933d0ca33c1.html
计楼主指的是post传参不会乱码,而get传参会乱码吧。
楼主用的应该是tomcat,而weblogic不会出现这种问题。“这是因为,在 tomcat4 和 tomcat5 中对参数的处理是不一样的,在 tomcat4 中 get 与 post 的编码是一样的,所以只要在过滤器中通过 request.setCharacterEncoding 设定一次就可以解决 get 与 post 的问题。然而,在 tomcat5 中,get 与 post 的处理是分开进行的。”
所以即使你设置了编码过滤器也没有用。可以试试用javascript处理下你的URL,encodeURIComponent(参数);转成UTF-8编码;也可以使用<%=java.net.URLEncoder.encode(参数,"UTF-8")%>编码,再使用java.net.URLDecoder.decode(request.getParameter(参数名));解码。