TOMCAT使用的是ISO8859-1字符集,你需要进行字符集转换。

解决方案 »

  1.   

    把你的字符集写成iso8859-1(它是支持中文的)这样就好了
      

  2.   

    新增数据中文正常,显示乱码?解决办法
    1.修改tomcat的默认字符集
    修改tomcat/conf/server.xml<Connector acceptCount='100' connectionTimeout='20000' debug='0'
    disableUploadTimeout='true' enableLookups='false'
    maxSpareThreads='75' maxThreads='150' minSpareThreads='25'
    port='8080' redirectPort='8443' URIEncoding='GBK'/>
    加上:URIEncoding='GBK'即可。
    如果GBK不行,试一下ISO-8859-12.修改mysql连接串,指定字符集
    Class.forName("org.gjt.mm.mysql.Driver").newInstance(); 
    String url ="jdbc:mysql://134.202.128.200/YourDB?user=guest&password=123456&useUnicode=true&characterEncoding=gb2312"; 
    //YourDB为你的数据库名 
    Connection conn= DriverManager.getConnection(url); 
      

  3.   

    如果你用的tomcat5,你就可以通过\Tomcat 5.0\webapps\servlets-examples\WEB-INF\classes\filters目录下的SetCharacterEncodingFilter.java类处理。
    只要在web.xml加上下面的东西就可以拉
    <filter>
    <filter-name>Set Character Encoding</filter-name>
    <filter-class>cn.com.stoneman.util.SetCharacterEncodingFilter</filter-class>//这里就是SetCharacterEncodingFilter类在你工程里面相应的位置
    <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>
    <filter-mapping>
    <filter-name>Resource Filter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
      

  4.   

    to: denghan(很久没来ASP版了) 
    两个方法对我的问题都没用,我试过了,
    useUnicode=true&characterEncoding=gb2312"; 我的代码也是这样用的。
    上面这段代码我相信没什么问题,因为在我租用的空间上完全正常,可就到了我机器上就乱码了,真是怪了。不知我机器什么地方不对了。
      

  5.   

    将数据由iso-8859-1转换成GB2312就okle
      

  6.   

    to : loverisyour(我是民工又咋的,不能搞开发啊!) 
    这个东西我也设过了,也没用,无法解决问题。
      

  7.   

    to : zyg158(DD) 将取出来的数据手工转一下是可以解决问题,但转过以后的代码放到服务器上就有问题了,会乱码。我记忆中为、数据连接串中加了useUnicode=true&characterEncoding=gb2312的话,再手工转码的话就是会乱码的,因为是多转了一次。也就是说取出来真接用才正常情况。
      

  8.   

    public String getStr(String str)
    {
    try
    {
    String temp_p=str;
    byte[] temp_t=temp_p.getBytes("ISO8859_1");
    String temp=new String(temp_t);
    return temp;
    }
    catch (Exception e)
    {
    return "null";
    }
    }从数据库取出中文时,
    用这个函数转换试试,
    我原来就这样用,好了。^_^
      

  9.   

    1.修改tomcat的默认字符集
    -------------------------
    这个方法我试过了,还不行!楼主:
    你的问题解决了吗?
      

  10.   

    不会呀,几个项目都这样没事,不同的地方就是用的XML来配置的,还有这个和你的是反的useUnicode=true&characterEncoding=gb2312,应该不会关这里的事吧!
      

  11.   

    我访问access数据库的时候也是这个问题,还没有解决!楼主:交流一下吧!我的QQ: 178393041 海阔天空欢迎大家来讨论!
      

  12.   

    to : loverisyour(我是民工又咋的,不能搞开发啊!
    我知道,你的方法正常情况下是能很好的解决问题,但我这个好像特别奇怪,网上能找到的解决方法我基本上都试过了都不行,我想可能是我的tomcat、mysql、JDBC包的版本有问题,请问一下你这3个东东是使用什么版本的?
      

  13.   

    参考这个:http://community.csdn.net/Expert/TopicView3.asp?id=3530812
      

  14.   

    存入和取出都设置成同样的编码格式,建议你都设置成UTF-8,这样就可以在中文平台和英文平台下跑了.还有就是jdbc的不同可能也有关系,我知道jdbc-odbc桥对中文的支持就比jdbc好一些
      

  15.   

    mysql-4.0.12-win,jakarta-tomcat-5.0.28.exe,Hibernate-2.1.2,jdbc2_0-stdext.jar,项目里面是hibernate和JDBC混在一起用的
      

  16.   

    我用jakarta-tomcat-5.0.19.exe
    jdbc2_0-stdext.jar我用这个包会出错。
    我用的是mysql-connector-java-3.0.9-stable
      

  17.   

    谢谢大家了,在重装了N次以后
    tomcat使用5.028版
    mysql4.021版
    mysql-connector-java-3.0.9-stable
    问题终于解决了。