在tomcat目录下/wepapps/examples/WEB-INF/classes/filters有一个文件SetCharacte rEncodingFilter.class copy到你的classes/filters目录下 再在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>gb2312</param-value>         </init-param>     </filter>   <filter-mapping>   <filter-name>Set Character Encoding</filter-name>   <url-pattern>/*</url-pattern> </filter-mapping><web-app>用这个方法试试!

解决方案 »

  1.   

    不好意思..我用的是resin 2.1.8
    有解决的方法吗?谢谢
      

  2.   

    对于MySQL数据库有一个办法比较可行,就是把字段类型设为BLOB,这种情况下无论你无须转换编码就可直接插入数据库,读出来的时候也不用转换,你可以试试看.
    我在MySQL 4.1.0 alpha+J2se 1.4.2+MySQL官方驱动程序的环境下测试过没问题,别的版本我就不清楚了.
      

  3.   

    转所有字段类型为BLOB?
    因为我还有一些程序用的这个表,如果这样做似乎不太好..影响程序执行效率吧..
      

  4.   

    你总不会什么字段都是需要输繁体和特殊符号的吧,挑几个常用的就行了,像什么比如年龄,性别当然没必要用BLOB呀,再说你说这会影响程序执行效率,如果你的程序用的人不是成千上万,影响的速度只怕你还感觉不出来呢,你先试试,我可没说这方法对什么版本的MySQL都有用!
      

  5.   

    那我以后升
    级mysql还要改程序?...
    而且所有用户输入的字段都需要用blob型..
    有没一劳永亦的方法啊?
      

  6.   

    我用tomcat4.1 ,mysql 4.0.13 ,conect/j 3.08开发,采用下2条措施之后,就没有中文问题了,不知道对你有没有帮助数据库连接url使用 
    jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=GBKjsp页面加入<% request.setCharacterEncoding("gb2312"); %>
      

  7.   

    richardxie(绿茶) 
    你测试一下输入繁体中文能正常输入吗?Eraserpro(Eraser,毁灭者?橡皮?) 
    我试了..在我的环境下改字段类型为blob,问题一样,还是不可以讲用户输入的内容原原本本存入表里..
      

  8.   

    繁体输入测试字符
    ---------------------
    02/17 GAMECITY 於 2/19/2003 10:00-13:00 將進行定期維護作業及『三國志 Battlefield』新Patch更新作業 
    02/16 三國志Battlefield體驗版免費下載及團賽活動結束 
    ---------------------
      

  9.   

    jsp如何能把
    ---------------------
    02/17 GAMECITY 於 2/19/2003 10:00-13:00 將進行定期維護作業及『三國志 Battlefield』新Patch更新作業 
    02/16 三國志Battlefield體驗版免費下載及團賽活動結束 
    ---------------------正确的录入数据库?
    当然,用户也可能输入的是平常的简体中文字符
      

  10.   

    看看我提问的
    http://expert.csdn.net/Expert/topic/1743/1743696.xml?temp=.1809198
      

  11.   

    看过了..都是new String(name.getBytes("gb2312"),"8859_1");
    这样子来回转我想问的是如何正确储存到数据库繁体中文,
      

  12.   

    尝试一下<% request.setCharacterEncoding("GBK"); %>,不知道行不行?我做的管理系统jsp页面只是用来查询的,没有插入数据到数据库的操作,不好意思
    但是通过java application里往数据库插入数据,繁体中文和怪符号都没问题,我刚刚试过,只用了这个数据库连接url
    jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=GBK
      

  13.   

    问题解决!
    jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=GBK
    的确好使!
    绿茶大哥谢谢你了!555555555555555555
    同时也谢谢楼上几位的热心帮忙,谢谢各位~~ 55