我以前也出现过这问题,写了过滤器, 页面 往 servlet 里跳时 是没有乱码的,从数据库里取数据在页面显示也不是乱码,  可是从页面传值到另一个页面却出现乱码。。 所以总结以上经验,觉得过滤器只对  需要通过xml映射的文件进行过滤,跳转没用到xml的   好像没用到过滤器,这时再转换一下gb2312。。不知道这么想对不

解决方案 »

  1.   

    试一下这个方法在server.xml中配置如下内容 <Connector URIEncoding="GB2312"
    port="8989"               maxHttpHeaderSize="8192"
                   maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                   enableLookups="false" redirectPort="8443" acceptCount="100"
                   connectionTimeout="20000" disableUploadTimeout="true" />
    加上“URIEncoding="GB2312"”看能否解决
      

  2.   


    你用UTF-8这个编码试试,
     
    我也遇到过这个问题
     GB2312感觉有时不通用
      

  3.   


    有些文章指出,必须对所取得字段做一个转码即使用 
    a= new Sting(a.getBytes("iso8859-1"),"gb2312"); 
    是否有这个必要呢,数据库中已经显示的是中文,还用转吗? 

    如果是从表单读取的数据,那确实需要转,因为系统默认编码方式是iso8859-1
      

  4.   


    同意!过滤器和映射的jsp或者servlet才可以共享request对象等
      

  5.   

    乱码问题有三种可能  一是数据库设置比如UTF-8
                     二是tomcat可以在配置文件里更改
                        三是页面设置