我在Mysql中都是设置为 gb2312的,在Editor也可也插入中文,但是在Java中插入中文是总是乱码,而且Servlet中也是
    response.setCharactorEncoding("gb2312");的,输出到控制台中的也是中文,但为什么插入到数据库中的全是乱码?

解决方案 »

  1.   

    show variables like 'char%'; 
    贴结果
      

  2.   

    连接的url后面加上:
    jdbc:mysql://192.168.8.4:3306/test?characterEncoding=gb2312
    试试看
      

  3.   

    参考下贴。应该是你在JAVA程序中的字符集设置问题。http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码
      

  4.   

    太感谢了,果然在连接的url后面加上:
    jdbc:mysql://192.168.8.4:3306/test?characterEncoding=gb2312就可以了,但是
    我还想问,为什麽:String test=new String(test.getBytes("gb2312"));
    这样子在java中转一次后,直接放入数据库却不行呢?却一定要在后面加上个gb2312呢?
      

  5.   

    狼的文章解释的很清楚,去看看。mysql的字符集做的很细,每个地方都要注意统一。