只需要在 My.ini 中的 [mysqld] 部分加入以下语句即可:set-variable=default-character-set=gbk注意不要写错了哦,否则无法启动。

解决方案 »

  1.   

    不行呀,如果不设置SET character_set_connection = gbk;字符串的查询会有问题
    直接加到my.ini中是不行的,加入后mysql启动不起来了
      

  2.   

    set-variable=default-character-set=gbk
    加入这个以后 SHOW VARIABLES 什么结果??
      

  3.   

    to Rekcuf(Rik) ( ) 信誉:100 
    mysql> show variables like "%colla%";
    +----------------------+-------------------+
    | Variable_name        | Value             |
    +----------------------+-------------------+
    | collation_connection | latin1_swedish_ci |
    | collation_database   | gbk_chinese_ci    |
    | collation_server     | gbk_chinese_ci    |
    +----------------------+-------------------+
    3 rows in set (0.00 sec)mysql> show variables like "%character%";
    +--------------------------+-------------------------------------+
    | Variable_name            | Value                               |
    +--------------------------+-------------------------------------+
    | character_set_client     | latin1                              |
    | character_set_connection | latin1                              |
    | character_set_database   | gbk                                 |
    | character_set_results    | latin1                              |
    | character_set_server     | gbk                                 |
    | character_set_system     | utf8                                |
    | character_sets_dir       | D:\MySQL Server 4.1\share\charsets/ |
    +--------------------------+-------------------------------------+
      

  4.   

    如果不设置以上的参数,在查询数据库的时候,凡是涉及到char,varchar,text字段的时候会出现类似下面的错误:
    ERROR 1267 (HY000): Illegal mix of collations (gbk_chinese_ci,IMPLICIT) and (lat
    in1_swedish_ci,COERCIBLE) for operation .....
      

  5.   

    还要看看你的表是怎样编码的。
    我以前也遇到过。SHOW CREATE TABLE tblName;
    最后有默认编码的信息。如果跟你的编码设置不一致就会出现上面的错误。表的编码转换可以用(MySQL Version > 4.12)
    ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name;之前的版本可以用:
    ALTER TABLE tbl_name CHARACTER SET charset_name;
    (此过程中更改表的编码为 charset_name,也对文本型数据作转换。)
      

  6.   

    在my.ini中加入如下信息:
    [mysqld]
    default-character-set= gbk
    default-collation=gbk_chinese_ci[client]
    default-character-set= gbk
      

  7.   

    to Rekcuf(Rik):
    SHOW CREATE TABLE tblName;之后看到的字符集是gbk,但是查询还是上面的问题,好像要每个字符型的字段都要设定字符集,这样工程量巨大呀
    to XqYuan() ( ):
    按照你的方法修改,并且重起了mysql,但是问题依旧