编写了一个jsp页面,其中它的编码方式是gb2312,它向一个servlet页面传递一个参数,当传递的参数的值是中文的时候,在servlet服务页面通过request.getparameter("")接受到得值却出现了中文乱码,即使在它之前调用request.setCharacterEncoding("gb2312");也出现了中文乱码,使用new String(name.getBytes("ISO-8895-1"),"gb2312")也不行!
是不是jsp页面与servlet页面的编码方式不同造成的呢?不改变jsp页面的编码方式应该如何解决呢?请高手指教下谢谢!
是不是jsp页面与servlet页面的编码方式不同造成的呢?不改变jsp页面的编码方式应该如何解决呢?请高手指教下谢谢!
filter代码如下:HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse resp = (HttpServletResponse) response;
req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("utf-8");
chain.doFilter(request, response);
是不是传递参数使用了get方式呢?即使编码一致也不行,还是出现了乱码,应该如何解决呢?
你这种方式提交相当于get方式提交,get方式提交会出现乱码,你还是放表单里提交表单吧。
forms[0].method="post";
forms[0].submit();