现在将常见的乱码问题分为 JSP 页面显示中文乱码、表单提交乱码两类。
1)JSP 页面中显示中文乱码
在 JSP 文件中使用 page 命令指定响应结果的 MIME 类型,如<%@ page
language="java" contentType="text/html;charset=gb2312" %>
2)表单提交乱码* *
表单提交时(post 和 Get 方法),使用 request.getParameter 方法得到乱码,这是
因为 tomcat 处理提交的参数时默认的是 iso-8859-1,表单提交 get 和 post 处理乱码
问题不同,下面分别说明。
(1)POST 处理
对 post 提交的表单通过编写一个过滤器的方法来解决,过滤器在用户提交的数
据被处理之前被调用,可以在这里改变参数的编码方式,过滤器的代码如下:
Copy code
package example.util;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class SetCharacterEncodingFilter implements Filter {
protected String encoding = null;
protected FilterConfig filterConfig = null;
protected boolean ignore = true;
public void destroy() {
this.encoding = null;
this.filterConfig = null;
}
public void doFilter(ServletRequest request, ServletResponse response,
<STRONG><SPAN style="COLOR: #ff0000"> FilterChain chain) throws
IOException, ServletException {
评论0