可以用一个编码的Filter来解决。

解决方案 »

  1.   

    转个别人的帖子。
    关于解决jsp中文乱码:  1)首先更改tomcat的配置文件server.xml,在8080和8009两个服务器侦听端口的<Connector/>标签的末尾加上URIEncoding="GBK",这个也是URL路径编码,这是为了解决HTTP服务器中POST方法和GET方法中参数的中文乱码问题。
     
        2)其次,服务器端也应对Request和Response方法进行相应的码型转换,这个在tomcat中实现十分简单,因为随着tomcat4的发行,有一个叫SetCharacterEncodingFilter的过滤器也出现了,只要将其添加到你的WEB应用程序的classes或者lib目录下即可,然后就是设置你的应用程序的配置文件web.xml了:
     
    <web-app>
    …………
     
       <filter>
            <filter-name>Set Character Encoding</filter-name>
            <filter-class>filters.SetCharacterEncodingFilter</filter-class>
            <init-param>
                <param-name>encoding</param-name>
                <param-value>GBK</param-value>
            </init-param>
        </filter>
     
    …………
     
        <filter-mapping>
            <filter-name>Set Character Encoding</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
     
    …………
    </web-app>
     
     
        4)服务器端的问题解决了,最后需要解决的就是网页自身的问题了,jsp网页中需要加入如下一行:
     
    <%@ page contentType="text/html;charset=GBK"%>         5)呵呵,补充一点,这里尽管写得是GBK编码,不过个人还是强烈建议用UTF-8编码。