llysonylin 发表于 2014-2-8 08:50:04

求教为什么每次的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:06

环境每次都会是一样的,只是这个参数有点特别,会根据自己的环境设备变化,来显示当前的参数情况。

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

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

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

页: [1]
查看完整版本: 求教为什么每次的char环境都会变