jsp页面request获取中文参数乱码解决办法
在jsp页面通过request请求获取参数code有中文值时,得到的参数会自动过滤掉中文,或者是得到一串乱码,如果是查询页面通过这个参数查询会查不到数据,当使用url传递code参数跳转到另一个页面时得到的也是乱码,那怎么解决乱码问题呢?
如图所示在jsp页面虽然定义了contentType为UTF-8:
但是实际上页面编码类型还是默认的为:ISO-8859-1,没有改变。
这个时候不得不使用下面这种形式强制转码为utf-8,这个时候才真正为UTF-8格式。
当页面使用url传递参数,跳转到另一个jsp页面时,中文时也会乱码,这个时候该如何解决?
1、在jsp页面导入转码包。
2、将code转码后拼接到response.sendRedirect的url上。
3、在既然转码了还需要解码,在接收页面,导入解码包。
4、解码从上一个页面传过来的中文参数。
5、最后得到了显示正常的中文参数。
以上修改在google浏览器是完全可以的,本来以为完美解决了问题,但是在ie浏览器又不行了,得到的还是乱码,怎么办?
通过调试后发现在使用ie浏览器时,在发送参数页面转码后的参数在接收页面还是乱码,不妨在原来基础上再给它转一次码,也就是转两次码,得到的是转码两次的参数,再通过url拼接跳转另一个页面,这个时候在接收页面接收到的就是正常的中文参数了。
还没有评论,来说两句吧...