Mysql字符编码设置:
查看:
show variables like 'character%';
结果如下:
设置:
set character_set_server=utf8;
set character_set_database=utf8;
#设置client相关
#set names 'xxx'命令可以使character_set_client、character_set_connection、#character_set_results三者统一
set names utf8;
重启后编码设置消失解决:
但是这样设置后发现重启后,编码又恢复设置之前了,解决办法如下:
修改配置文件 /etc/my.cnf
加入字符编码设置,具体如下:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recomm
#.....略
这样就算重启后编码格式也不会改变
Warning: World-writable config file ‘/etc/my.cnf’is ignored问题解决:
按上面一步设置my.cnf后,发现重启mysql时出现这样的错误,并且设置并没有生效
原因是mysql是为了安全,不允许任何一个用户对这个配置文件进行写操作,所以忽略了这个配置文件。
解决办法如下:
修改/etc/my.cnf权限,设置为当前用户可读写,其他用户不可写
chmod 644 /etc/my.cnf
注:
关于编码问题会在以后mysql中专门介绍,这里只是对碰到的问题进行解决,稍等