今天在servlet使用中,在Get方法中获取提交的中文参数,发现是乱码,我用的是Tomcat7。

  在Tomcat9中:

  • get方式的参数是放在请求头中,而Tomcat9对请求头的解码方式默认是utf8,所以get方式不会中文乱码。
  • post方式的参数是放在请求体中,而Tomcat对请求体的解码方式默认是iso-8859-1,此时就会出现中文乱码

而我用Tomcat7出现了中文乱码,用以下代码解决问题:

String goodsname = new String(request.getParameter("name").getBytes("ISO-8859-1"), "UTF-8");

这样我定义的goodsname获取到的就是正常显示的中文