页面设成 <%@ page contentType="text/html; charset=GB2312" %>
server.xml
有两个端口都要设这个值URIEncoding=GB2312

解决方案 »

  1.   

    关键是如果不用gb2132
    只用utf-8怎么取中文?
      

  2.   

    必须用GB2312传,页面不支持utf-8
      

  3.   

    作个过滤器把,
    public class EncodingFilter implements Filter
    { private FilterConfig config = null;
    private String targetEncoding = "UTF-8"; public void init(FilterConfig config) throws ServletException
    { //Logger.debug("-------statr EncodingFilter------------");
    this.config = config;
    } public void destroy()
    {
    config = null;
    targetEncoding = null;
    } public void doFilter(ServletRequest srequest, ServletResponse sresponse, FilterChain chain)
    throws IOException, ServletException
    {
    HttpServletRequest request = (HttpServletRequest)srequest;
    request.setCharacterEncoding("GBK");
    chain.doFilter(srequest, sresponse);
    } public FilterConfig getFilterConfig()
    {
    return this.config;
    } public void setFilterConfig(FilterConfig filterConfig)
    {
    this.config = filterConfig;
    }
    }
    web.xml里面加上
    <filter>
        <filter-name>EncodingFilter</filter-name>
        <filter-class>com.milan.filter.EncodingFilter</filter-class>
      </filter>
      <filter-mapping>
       <filter-name>EncodingFilter</filter-name>
       <url-pattern>/*</url-pattern>
      </filter-mapping>
      

  4.   

    request.setCharacterEncoding("GBK");
    错了也要改成request.setCharacterEncoding("UTF-8");
      

  5.   

    问题解决办法:
    1)修改server.xml,在connector标签中增加URIEncoding="gb2312"
    2)对url编码
      java.net.URLEncoder.encode( url );
    注意:url的起始如果非中文如 "/test/中文/中国.jsp"
    则应该写成"/test/" + java.net.URLEncoder.encode( "中文/中国.jsp" );
    意思是只对中文编码,但是 "中文/中国.jsp"中的"/"没有问题
    有问题联系我