如何设置 my.ini 可以设置客户端的默认字符集呢?我总是不成功?
-----------------------------
服务器端设置,起作用了,如下:
# The MySQL server
[mysqld]
default-character-set=utf8但是客户端的设置总不起作用,如下设置
# The following options will be passed to all MySQL clients
[client]
default-character-set=gbk我的目的是,设置服务器端为 utf 存贮,在客户端为 gbk,
但是按以下设置后,重启mysql服务,然后登录mysql命令行,
mysql -uroot -p123456
然后 show variables like 'char%';显示如下:
mysql> show variables like 'char%';
+--------------------------+------------------------------------+
| Variable_name | Value |
+--------------------------+------------------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | E:\xampplite\mysql\share\charsets\ |
+--------------------------+------------------------------------+
8 rows in set (0.00 sec)
这说明,服务器端设置生效了,但是客户端的设置没有生效呀?(我本来设置成gbk,但还是latin1)
我不知我错在哪里,我上网查了,就是这样设置呀,我错了吗?
-----------------------------
服务器端设置,起作用了,如下:
# The MySQL server
[mysqld]
default-character-set=utf8但是客户端的设置总不起作用,如下设置
# The following options will be passed to all MySQL clients
[client]
default-character-set=gbk我的目的是,设置服务器端为 utf 存贮,在客户端为 gbk,
但是按以下设置后,重启mysql服务,然后登录mysql命令行,
mysql -uroot -p123456
然后 show variables like 'char%';显示如下:
mysql> show variables like 'char%';
+--------------------------+------------------------------------+
| Variable_name | Value |
+--------------------------+------------------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | E:\xampplite\mysql\share\charsets\ |
+--------------------------+------------------------------------+
8 rows in set (0.00 sec)
这说明,服务器端设置生效了,但是客户端的设置没有生效呀?(我本来设置成gbk,但还是latin1)
我不知我错在哪里,我上网查了,就是这样设置呀,我错了吗?
关键是client, connection, result字符集要一块儿修改才有用。
所以,使用在获取连接后set names gbk才是你想要的。
我也有相同的问题,你指的一起改是否只能用set names呢?
那配置文件里的那些设置有什么用呢?
每次进去都要打一次set names挺烦的,在mysql后面加参数也比较麻烦
难道没有其他方法了吗?
http://hi.baidu.com/hexiong/blog/item/e860e5dd9b0d3ae376c6381a.html
你的服务器端是安装版本吗?还是手动配置版本?
我找到原因了,是路径不认。是这样,我将 my.ini 放在与mysql.exe相同的路径下,即
e:\xampp\mysql\bin\my.ini
这样,启动mysql服务时,能够识别这个路径,所以
[mysqld]
default-character-set=utf8
起作用。但是我运行命令行时,不认这个路径,但是在加上路径这样就可以了。
mysql --defaults-file="e:\xampp\mysql\bin\my.ini" -uroot -p
这样的话,
[client]
default-character-set=gbk
就起作用了,所以应该是路径的原因。造成我的困惑的主要原因是。
同一个my.ini,启动mysql服务时,可以识别,但是运行命令行时,却不能识别,这是令我一直没有明白的原因。
这个就不知道 xampp 如何控制的了。呵呵。
看来用集成套件不是好办法。