Tomcat请求参数的中文乱码问题

本文记录Java学习过程中遇到的Tomcat请求参数的中文乱码问题~

在填写表单数据时,难免会输入中文,如姓名或者公司名称等等。由于HTML设置了浏览器在传递请求参数时,采用的编码方式是UTF-8,但在解码时采用的是默认的ISO8859-1,因此会导致乱码的出现。

解决步骤:

1.设置解码方式

在HttpServletRequest接口中,提供了一个setCharacterEncoding()方法,该方法用于设置request对象的解码方式。

示例代码:

request.setCharacterEncoding("utf-8");
String name = request.getParameter("username");

但是这种方法仅仅对POST请求有效,对GET无效。

2.对字符串先解码再重新编码

示例代码:

String name = request.getParameter("username");
name = new String(name.getBytes("iso8859-1"),"utf-8");

这种方法可以解决所有的乱码问题。

标签: none