MySQL社区

标题: 求教为什么每次的char环境都会变 [打印本页]

作者: llysonylin    时间: 2014-2-8 08:50
标题: 求教为什么每次的char环境都会变
从服务器上直接登录,每次都不变
| character_set_client     | gbk                        |
| character_set_connection | gbk                        |
| character_set_database   | gbk                        |
| character_set_filesystem | binary                     |
| character_set_results    | gbk                        |
| character_set_server     | gbk                        |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |

而从别的服务器上登录,每次都会还原
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | gb2312                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | gbk                        |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |



我已经设置了服务器my.cnf中的client字符选项,求教各位大师~

作者: kider    时间: 2014-2-11 10:57
环境每次都会是一样的,只是这个参数有点特别,会根据自己的环境设备变化,来显示当前的参数情况。

字符集分3个部分:character_set_client,character_set_connection和character_set_results。
要想永久设置,两种情况:
1、设置 init_connect动态变量,set global init_connect="SET NAMES utf8", 同时在my.cnf中的[mysqld]下添加上init_connect='SET NAMES utf8'
2、由于init_connect的设置对于有SUPPER权限的用户,如root@127.0.0.1等不起作用,所以在my.cnf中的[mysql]或[client]下default-character-set =utf8.
说明:第一种针对所有非SUPPER权限用户,包括你应用程序连接。 第二种中的设置中针对本机连接,处于/etc/my.cnf文件。

再要是不行,就在每次连接的时候,先执行下语句:#set names utf8;  即可

还有其他问题,可以查查在线手册,可能就更清楚了
http://www.mysqlpub.com/onlinemanual/doc/refman/5.1/zh/index.html






欢迎光临 MySQL社区 (http://www.mysqlpub.com/) Powered by Discuz! X3.2