MySql字符集

http://blog.csdn.net/jayzym/article/details/52735314

Mysql
查看字符集编码
show variables where Variable_name like '%char%';
 
会发现 database 的编码方式是latin1 并且server的编码方式也是latin1
 
果断修改
set character_set_database=utf8;
set character_set_server=utf8;
 
但是重启之后又会恢复latin1
 
so
 
1.首先查看etc安装目录下有没有my.cnf文件
cd /etc
ls -l | grep my.cnf
 
 
如果存在可以跳过第二步
2.my.cnf不存在需要到Mysql配置文件路径下复制一个文件过来,配置文件路径在/usr/share/mysql下
我复制的是my-default.cnf文件,在/etc中复制文件过来,将文件改名为my.cnf ,执行以下命令
cd /etc
cp /usr/share/mysql/my-default.cnf my.cnf
 
 
 
 

33.使用vi编辑器打开my.cnf加入下面几段话
建议先对文件进行备份,不过因为文件本来就是从/usr/share/mysql中复制过来的,也可以不用备份,然后打开
cp my.cnf my.cnf.bak
sudo vi my.cnf
 

在[mysqld]上面加入下面两句话
[client]
default-character-set=utf8

在[mysqld]最下面加入下面几句话
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci

然后保存退出
4.重启Mysql,再查看字符集
sudo service mysql restart

发现database和server的字符集都变成了utf8,无论怎么修改,重启后字符集都是utf8,证明你成功了。
如果设置到这里还不行,再进入一下/etc/mysql/mysql.conf.d找到mysqld.cnf文件
cd /etc/mysql/mysql.conf.d
sudo vi mysqld.cnf

然后在mysqld.cnf中[mysqld]下面加入这句话
character-set-server=utf8
然后再重启下Mysql

原文地址:https://www.cnblogs.com/duneF/p/8039953.html