当前位置: 代码迷 >> Java Web开发 >> 关于HttpServletRequest的setCharacterEncoding与getParameter解决方法
  详细解决方案

关于HttpServletRequest的setCharacterEncoding与getParameter解决方法

热度:1167   发布时间:2013-02-25 21:07:18.0
关于HttpServletRequest的setCharacterEncoding与getParameter
最近发现一个问题,就是关于这个两个方法的,

如果先调用了getParameter方法,再调用setCharacterEncoding方法就不起作用了.

实验代码:

String name = arg0.getParameter("name");
// System.out.println("name----------------------------------"+name);
// arg0.setCharacterEncoding("gbk");
// name = arg0.getParameter("name");
// System.out.println("name----------------------------------"+name);
arg0.setCharacterEncoding("utf-8");
String name = arg0.getParameter("name");
System.out.println("name----------------------------------"+name);
arg2.doFilter(arg0, arg1);

这段代码在filter中,有兴趣的朋友可以自己实验一下.
jsp页面用的是post方法提交表单.soga ,回去试试本来就是要先调用setCharacterEncoding之后在接收参数啊,你要先设定好request的编码然后接收才能达到效果啊,你先接收了在设置接收的编码当然没用了。
因为request.getParameter默认使用的是"8859_1"之类的,不是中文编码的,,,
  相关解决方案