有一个MySql5.1的数据库,存储了员工的考勤打卡数据,我用ODBC去取数据,根据员工姓名取,本来一切正常,但是遇到有一个员工的姓名是“喆”,此时就会报错:[MySQL][ODBC 5.1 Driver][mysqld-5.1.47-community]Illegal mix of collations (gb2312_chinese_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='
请问我应该如何解决?

解决方案 »

  1.   

    MySql的编码我看过了,是UTF-8的。
      

  2.   

    字符集不统一
    show variables like 'char%'; 
      

  3.   

    show variables like 'char%'; 
    看看用的什么字符集。
    utf8里面肯定有这个汉字的。
      

  4.   

    我看过了,MySql里面全部都是UTF-8的。问题是我的ODBC程序没有地方指定编码,我不知道怎么弄据了解,“喆”这个字其实是繁体字,不是GB2312编码。
      

  5.   

    这个字是在GB2312编码之外。把你的客户端编码设为gbk
    set names gbk
    可加在ODBC的初始语句(initial statement)中,也可在你的应用程序中连接到数据库后,发送这条语句给服务器。
      

  6.   

    按下贴中的方法贴出你的检查结果。http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码