修改Tomcat---->conf----->server.xml文件,在修改端口的标签后面加一行代码(大概第五十行),如下: <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443"  URIEncoding="UTF-8"/>但是页面出现乱码,还有一种情况就是你的页面编码错误哈。

解决方案 »

  1.   

    或者按1楼说的用过滤器
    1编写过滤器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 CharacterEncodingFilter implements Filter ...{    @Override
        public void destroy() ...{
        }    @Override
        public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,ServletException   {
        request.setCharacterEncoding("utf-8");
        chain.doFilter(request, response);
        }    @Override
        public void init(FilterConfig arg0) throws ServletException ...{
        }}
    利用过滤器,把requst传递的中文参数都设成“UTF-8”编码。 ②再修改web.xml文件     打开项目里的web.xml文件,在前面加上如下代码: 
    <filter>
     <filter-name>characterEncoding</filter-name>
     <filter-class>com.v512.example.CharacterEncodingFilter</filter-class>
     </filter>
     <filter-mapping>
     <filter-name>characterEncoding</filter-name>
     <url-pattern>/*</url-pattern>
     </filter-mapping>
    注意其过滤的URL为“/*”,表示当前的request请求。为了使设置生效,重起tomcat。 
      

  2.   

    我试过了的呀。
    是不是里面的三个方法.
    request.setCharacterEncoding("gbk");
    response.setCharacterEncoding("gbk");
    chain.doFilter();
      

  3.   

    乱码的情况很多种 
    你说的那个应该是URIEncoding和useBodyEncodingForURI
    URIEncoding是指定URL后面的附加参数的字符编码 默认的iso-8859-1 
    ServletRequest.setCharacterEncoding对URL后的参数不起作用 可以用这个指定 或者getByte(xxx)useBodyEncodingForURI是指是否用实体内容的编码来代替URIEncoding的设定 这样ServletRequest.setCharacterEncoding指定的编码就也对URL后的参数起作用了
      

  4.   

    我曾试过URIEncoding="GBK"
    但是不行,这位大哥,UTF-8是一种什么编码凡是呀?
      

  5.   

    过滤器肯定行,但你看下配置里面的,字符编码 默认的iso-8859-1  
    ---------
    群14428492,007开发团队打造中国最强开发团队
      

  6.   

    在TOMCAT/CONF/SERVER.XML里添加属性
    <Connector
    port="8080"    maxHttpHeaderSize="8192"
                   maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                   enableLookups="false" redirectPort="8443" acceptCount="100"
                   connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK"/><Connector port="8009" 
                   enableLookups="false" redirectPort="8443" protocol="AJP/1.3" URIEncoding="GBK" />我上次也碰到过,用过滤器以及其他转码方法都没用,最后用这个方法才解决的
      

  7.   

    直接在页面编码中把编码改为UTF-8或是GB2312就可以了,不过每个页面都要写了,或者是像楼上的写过滤器。
      

  8.   

    改猫 不是万能的 最无敌的 转码还是 楼上几位说的 用过滤器 filter