mysql> set names gbk;
Query OK, 0 rows affected (0.00 sec)
它相当于下面的三句指令:
SET character_set_client = gbk;
SET character_set_results = gbk;
SET character_set_connection = gbk;这是我电脑上的mysql> show variables like 'character_set_%';
+--------------------------+---------------------------------------------------------+
| Variable_name            | Value                                                   |
+--------------------------+---------------------------------------------------------+
| character_set_client     | utf8                                                    |
| character_set_connection | utf8                                                    |
| character_set_database   | utf8                                                    |
| character_set_filesystem | binary                                                  |
| character_set_results    | utf8                                                    |
| character_set_server     | utf8                                                    |
| character_set_system     | utf8                                                    |
| character_sets_dir       | C:\Program Files\MySQL\MySQL Server 5.5\share\charsets\ |
+--------------------------+---------------------------------------------------------+
8 rows in set (0.00 sec)
电脑系统是W7然后直接在MySql Command Line Client 查看是乱码,我确保插入表中的数据是没有乱码的,然后我执行set names gbk;后,再用查询语句select查询表中的数据,结果乱码消失了。在这里我想问一下有没有什么办法可以修改MYSQL的配置文件my.ini,可以让数据库启动的时候自动设置 character_set_client = gbk;character_set_results = gbk;character_set_connection = gbk;这三个属性为指定的编码,我照着网上说的修改了配置文件下的client]default-character-set=gbk,修改为GBK,其它的都UTF8,但是修改完启动数据库后,结果用show variables like 'character_set_%';发现这三项属性还是原来的UTF8,我都修改了client]default-character-set=gbk,为什么重新启动数据库后查看到的各种编码一点变化也没有啊?