写个filter定义编码,如果使用spring的话可以在xml里面配置<filter>
        <filter-name>encode</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
 </filter>

解决方案 »

  1.   

    不知道为什么,我们这些UTF-8的信徒总是得到了保佑,一生从未受到过乱码的侵扰。
    好吧,我并不在乎你信奉什么编码,但和谈女朋友一样,一定不要选择多种编码,尽量有时候不是自己有意的。看,Java原生编码就是UTF编码,因此代码编辑器中(如Eclipse)首先设置为UTF-8编辑;
    然后JSP、Html页面也应该将头设置为UTF-8,当然编辑器也必须同样设,不管是Eclipse、Editplus、记事本、Dreamware等等。将Jsp文件头声明为UTF-8,然后保存为ANSI格式,这叫谈女朋友不专一。
    数据库,相当重要,信奉UTF-8人的,在安装的时候就设为默认的UTF-8编码;
    服务器,将Tomcat中server.xml里配置为UTF-8,如果上层还有Apache 服务器,可以将Apache设为不处理编码;
    最后是浏览器,这个服务端管不了,但在过滤器加个编码拦截一次完全搞定。如此,乱码如何而来?