1.1 post请求解决乱码
1.对于Post请求,只需在Servlet或者jsp中写入如下代码就可以把解决从表单中传入的中文乱码问题
request.setCharacterEncoding("utf-8");
String str=request.getParameter("name");
byte[] bytes=str.getBytes("ISO-8859-1");
String name=new String(bytes,"utf-8");
2.客户端和服务器在传递数据时可以用过滤器filter解决字符编码问题。
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>com.dinfo.servlet.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
1.2 get请求解决乱码
1.使用编码
客户端和服务器在传递数据时可以用过滤器filter解决字符编码问题,但filter只能解决post方式提交的数据。对于get方式,可以使用两次encodeURI(encodeURI(“中文”))并在服务器中使用URLDecoder.decode(“中文”,"UTF-8");