自己搞糊涂了,进了 mysql 设一下
SET character_set_client = gbk
SET character_set_connection = gbk
SET character_set_database = gbk
SET character_set_results = gbk
SET character_set_server = gbkSET collation_connection = gbk_bin
SET collation_database = gbk_bin
SET collation_server = gbk_bin
然后就OK了

解决方案 »

  1.   

    File 'c:\mysql\share\charsets\?.conf' not found (Errcode: 2) Character set '#28' is not a compiled character set and is not specified in the 'c:\mysql\share\charsets\Index' file问题是怎么解决的?
      

  2.   

    每次查询之前,发送一个查询set来设置字符集,这样安全而且程序的移植性也高啊
      

  3.   

    我用c在linux下面作mysql的相关程序,没有设置什么字符集.
      

  4.   

    楼主啊! 我按照你说的,设置了一下, 不行啊!
    mysql> show variables like "%char%";
    +--------------------------+-------------------------------------------+
    | Variable_name            | Value                                     |
    +--------------------------+-------------------------------------------+
    | character_set_client     | gbk                                       |
    | character_set_connection | gbk                                       |
    | character_set_database   | gbk                                       |
    | character_set_results    | gbk                                       |
    | character_set_server     | gbk                                       |
    | character_set_system     | utf8                                      |
    | character_sets_dir       | D:\MySQL\MySQL Server 4.1\share\charsets/ |
    +--------------------------+-------------------------------------------+mysql> show variables like "%colla%";
    +----------------------+---------+
    | Variable_name        | Value   |
    +----------------------+---------+
    | collation_connection | gbk_bin |
    | collation_database   | gbk_bin |
    | collation_server     | gbk_bin |
    +----------------------+---------+
    3 rows in set (0.00 sec)然后执行 查询语句
    mysql> select * from bordinfo where bordname='s';
    ERROR 1267 (HY000): Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (
    gbk_bin,COERCIBLE) for operation '='还是出错阿!!!
    怎么办??另外,我发现,当前设置好的参数,到下次进来后,又变成了原来默认的拉! 真是郁闷,为什么这样啊??
    mysql>
      

  5.   

    [showstv(0!0)]兄弟,怎么联系你?我的QQ:4080786
      

  6.   

    回复人: showstv(0!0) ( ) 信誉:100 你的表用的是 latin1_swedish_ci 字符集
    要修改表的字符集设置
      

  7.   

    william_kai(凯)  :你是不是要在java中用mysql?? 
      

  8.   

    这样是可以了,但是如何在my.ini中定义
    让它支持中文呢?
    我有原来版本导出的数据
    解决办法在SQL文件的头部放了上面设置的语句
    在产生连接池的时候上也应该添加相应的设置语句
    就是麻烦了一点,是否有办法直接在.INI文件中进行配置?谢谢
      

  9.   

    在 my.ini 里SET character_set_client = gbk
    SET character_set_connection = gbk
    SET character_set_database = gbk
    SET character_set_results = gbk
    SET character_set_server = gbkSET collation_connection = gbk_bin
    SET collation_database = gbk_bin
    SET collation_server = gbk_bin
      

  10.   

    请问楼主:我在mysql状态set设置以后,为什么到下次mysql进来后,又变成了原来默认的啦,我怎么才可以让改变以后的环境变量生效!
    SET character_set_client = gbk
    SET character_set_connection = gbk
    SET character_set_database = gbk
    SET character_set_results = gbk
    SET character_set_server = gbkSET collation_connection = gbk_bin
    SET collation_database = gbk_bin
    SET collation_server = gbk_bin以后,然后退出mysql状态重新登陆后mysql> show variables like "%char%";
    +--------------------------+-----------------------------------------------+
    | 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:\WWW\MySQL\MySQL Server 4.1\share\charsets/ |
    +--------------------------+-----------------------------------------------+
     不知道为什么,请指教?
      

  11.   

    大虾们求救:知道怎么保存设置么?commit 之类的好像不起作用?set 以后重新进入mysql怎么才能生效呢?
      

  12.   

    完全看下来,学习了不少.回复楼上的朋友.我的4.0.17 for winnt 改过MY.INI存储后,再进就没有发现恢复默认值.
      

  13.   

    我以前也遇到过这样的问题,解决的办法是在每次查询之前都进行一次设置set NAMES = 'gbk';记住是每次运行查询前都要这样,你可以把操作写进存储过程,第一句就是set NAMES = 'gbk';
      

  14.   

    在安装mysql的时候,不要选默认的Standard Character Set,选Best Support For Multilingualism默认的字符集为utf8,要是选了这个的话就会有:
    +--------------------------+-----------------------------------------------+
    | 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       | C:\Program Files\MySQL\MySQL Server 4.1\share\charsets/ |
    +--------------------------+-----------------------------------------------+
     可见仍有几个变量没有统一!                  
    选Manual Selected Default Character Set/Collation 再在下拉框中选GB2312或GBK就可以解决中文问题了。
      

  15.   

    照我上面讲的方法重新进行一次:MySQL Sever Instance Config wizard!不过密码一定要不同于现在正在用的密码,否则会说安全应用不成功的哦。