解决mysql不支持中文([HY000][1366] Incorrect string value ‘xE5xBCxA0xE4xB8x89‘ for column ‘xxxxx‘ at row 1)
解决mysql不支持中文([HY000][1366] Incorrect string value: '\xE5\xBC\xA0\xE4\xB8\x89' for column 'xxxxx' at row 1
)
本教程环境:
Ubuntu20.04(server版) + mysql5.7
报错内容:
mysql> insert into XXX values ('张三');
ERROR 1366 (HY000): Incorrect string value: ‘\xE5\xB0\x8F\xE6\x98\x8E’ for column ‘XXX’ at row 1
验证错误情况:
- 登录MySQL数据库,通过
show variables like 'character%';
查看编码格式
如果显示的内容与此图一样,则可通过本教程解决该错误
解决方案:
sudo vim /etc/mysql/conf.d/mysql.cnf
在[mysql]的下方加入如下语句:(注:这个文件下没有配置,只有【mysql】)
no-auto-rehash
default-character-set=utf8
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
在[mysqld]下加入
socket = /var/run/mysqld/mysqld.sock
port = 3306
character-set-server=utf8
sudo /etc/init.d/mysql restart
重启MySQL
验证是否解决问题:
- 登录MySQL数据库,通过
show variables like 'character%';
查看编码格式
大功告成~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
注意:此时再新建的数据库就可以支持中文格式了,但是之前已建好的库可能还是不支持