GET乱码以及POST乱码的解决方法

东坡下载 2010年10月14日 11:40:01

      一、GET乱码的解决方法

      在tomcat的server.xml文件中修下面的代码片段,在最后添加URIEncoding="UTF-8",修改后的结果如下

      Xml代码

      connectionTimeout="20000"

      redirectPort="8443" URIEncoding="UTF-8">

      二、POST乱码解决方法

      自定义字符集过滤器,代码如下

      Java代码

      package com.filter;

      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 CharEncodingFilter implements Filter {

      private String charSet;

      public void init(FilterConfig config) throws ServletException {

      charSet = config.getInitParameter("encoding");

      if (charSet == null && charSet.length() < 1) {

      charSet = "UTF-8";

      }

      }

      public void doFilter(ServletRequest request, ServletResponse response,

      FilterChain filter) throws IOException, ServletException {

      request.setCharacterEncoding(this.getCharSet());

      response.setCharacterEncoding(this.getCharSet());

      filter.doFilter(request, response);

      }

      public void destroy() {

      this.setCharSet(null);

      }

      public void setCharSet(String charSet) {

      this.charSet = charSet;

      }

      public String getCharSet() {

      return (this.charSet);

      }

      }

      web.xml配置

      Xml代码

      CharEncodingFilter

      com.filter.CharEncodingFilter

      encoding

      UTF-8