可能你用的那个MYSQL版本存在的BUG,试下改数据库的collate
ALTER database dbasename COLLATE = 'gb2312_chinese_ci';

解决方案 »

  1.   

    你的查询中引用了两种字符集,gbk_chinese_ci和latin1_swedish_ci。针对两个或两个以上表的查询,如果这些表分别使用了不同的字符集,就会出现这种错误。
    我还遇见过在一个表中使用两种字符集的情况,当对这个表进行查询时,也会出现这种错误。用show create table检查建表语句,将不同的字符集统一起来就会OK。
      

  2.   

    也可以直接在WHERE里面指定使用的匹配方法