我们在插入中文值的时候出现了乱码问题:
ERROR 1366 (HY000): Incorrect string value: ‘\xE7\xBF\x81\xE5\xBF\x97…’ for column ‘name’ at row 1
解决:
我们首先通过命令:
show variables like '%char%';
或者
show variables like 'character%';
查看默认的数据库编码集
或者我们直接通过:
show create database 数据库名;
查看我们已经存在数据库的编码集
如果不是utf8,我们可以通过命令
set names utf8;
查看我们的字符集:
此时我们会发现默认的是“Latin1”,我们就需要修改我们的配置文件进行修改,配置成Utf-8.
首选进入我们的配置文件:
vi /etc/my-cnf
添加:
character-set-server=utf8
通过
systemctl restart mysqld
重启我们的mysql服务器即可
此时如果再通过命令行向我们刚才的创建好的数据库添加中文数据还是一样会报错,因为我们刚才创建的数据库是以刚才的编码进行创建的。所以我们要么重新建一个库,要么就修改下我们的刚才数据库的编码格式:
通过命令:set names utf8