当jsp页面通过get方法发送请求到servlet,并且带有中文参数,servlet接收到的参数是乱码的解决办法
该问题的解决视开发人员使用的tomcat版本而定,有两种情况:
第一种情况,如果你使用的是tomcat 8.0以下的版本,比如说,你使用的是tomcat 7.0版,有两种方法可以解决
1,写相应的处理中文乱码servlet,并在web.xml中配好
2,在接收请求的servlet中对接收到的参数设置UTF-8编码
例如:String author = new String(req.getParameter("author").getBytes("ISO8859-1"),"UTF-8");
tomcat 7.0默认使用ISO8859-1编码,先使用ISO8859-1接收参数,然后再将其转换成UTF-8的格式
注意:上述两种方法任选其一就可以了,如果两种都使用,一样无法正常显示中文。
另外一种情况,如果你使用的是tomcat 8.0 及以上的版本,那么servlet接收到的参数直接就是中文,因为tomcat 8.0以后,默认的编码格式就是UTF-8,而不需要再做任何配置,如果你使用tomcat 8.0 同时又做了编码转换,结果反而会显示乱码。