深入剖析MySQL数据库字符集的出错现象

  • 来源: 互联网 作者: 若水   2008-03-19/09:49
  • 首先,我们来看一下错误示例:

     

    Illegal mix of collations (gbk_chinese_ci,IMPLICIT) 
    and (gbk_bin,IMPLICIT) for operation '=', 
    SQL State: HY000, Error Code: 1267

     

     

     

     

     

    原因:

     

     

    数据库的编码与建表时的编码不一样;

     

     

    处理方法:

     

     

    如果安装MySQL时设置的编码为jbk,那么建表时可以用下面的方法处理:

     

    CREATE TABLE `teachers` (
    id` int(11) NOT NULL default '0',
    name` varchar(20) default NULL,
    password` varchar(20) default NULL,
    department_id` int(11) default NULL,
    PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=gbk;

    也可以用下面的方法:

     

    CREATE TABLE `teachers` (
    id` int(11) NOT NULL default '0',
    name` varchar(20) default NULL,
    password` varchar(20) default NULL,
    department_id` int(11) default NULL,
    PRIMARY KEY  (`id`)
    ) ;

    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多