这好像不是mysql的BUG吧?只能说你的字符集有问题.
=号两端的字符不是同一字符集,就出现这种情况,
你看看该字段的字符集,和客户端连接的字符集是不是不一样?

解决方案 »

  1.   

    这好像不是mysql的BUG吧?只能说你的字符集有问题.
    =号两端的字符不是同一字符集,就出现这种情况,
    你看看该字段的字符集,和客户端连接的字符集是不是不一样?
      

  2.   

    1)那爲什麽我放在4.0的版本沒有問題呢?
    2)我重新建立了一個數據庫,把那幾個表都設置字符集為big5,結果還是出錯,那=號兩端的字符不是同一字符集 應該就不成立了吧?
    3)我有上Mysql站點,也有人提了相同的問題,可是找不到回復。可有解決的方案?
      

  3.   

    4.1在存储数据方面使用utf-8,跟4.0不一样
      

  4.   

    表的字符集是big5,客户端连接的字符集呢?
    你可以在查询之前设置一下
    mysql_query("SET NAMES big5");试试,
    如果不行,将出错的部分,=两端的字符串的所使用的字符集用命令查看一下
    select collation(fieldName), collation(string);
    fieldName 和 string 分别是=两端的字符串或字段名
    如果不一样,那么可以在查询时进行强制字符集转换select * from tblname where fieldName = _big5'value';更多参考MYSQL网站
    http://dev.mysql.com/doc/mysql/en/charset-collation-charset.html
      

  5.   

    to ice_berg16(寻梦的稻草人) 那再請教一下如何強制更改比如value的字段的字符集等於big5呢?,我在phpmyadmin下用
    ALTER TABLE table_name CHARACTER SET = big5或者在Mysql命令下用這個命令
    都不能把裏面的所有字段變成一樣的字符集。
    因爲我發現了該表的字段並不是同一個字符集。
    或者說是否有命令可以把某個表的所有字段都強制設置成某個字符集?
    謝謝!
      

  6.   

    ALTER TABLE tb_name CHANGE column column type CHARACTER SET char_type
      

  7.   

    我也碰到了类似的问题。我以前在MYSQL 4.0.X中的数据库导入到MYSQL4.1.X中后,原先字段中的简体中文,变成了乱码。我在安装MYSQL4.1.X时设置的是UTF-8编码为默认的编码方式,请问楼上的朋友,这个ALTER语句是在老的数据库中修改后再导入MYSQL4.1.X呢?还是导入MYSQL4.1.X后再修改表结构?谢谢
      

  8.   

    "ALTER TABLE tb_name CHANGE column column type CHARACTER SET char_type"
    为什么会报语法错误?我的修改语句是:alert table `list` change name varchar(255) not null default '' character set utf8;