MySQL如果编码不是utf8的话,中文数据可能会造成乱码或者错误。具体可以查看编码:
进入mysql,输入 show variables like ‘character%’;
显示如上图,client的编码是latinl。
设置方法:
打开mysql 的设置文件 /etc/my.cnf
在[client]项下面添加 default-character-set=utf8
如果没有 [client] 项,可以手动添加:
[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set=utf8
然后再 [mysqld]项下面添加 character_set_server = utf8,结果为:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
character_set_server = utf8
保存后退出。
重新启动 mysql。如果失败可能有其他mysqld进程,可以先运行 killall mysqld
service mysqld restart
再进入mysql,查看编码,结果为:
修改成功
注意,修改了之后,需要把之前的数据库删掉(drop),重新建立