mysql输入中文出现ERROR 1366的解决方法

时间:2021-07-24 09:28:07

MySQL输入中文出现如下错误:

ERROR 1366: 1366: Incorrect string value: '\xE6\xB0\xB4\xE7\x94\xB5...' for column 'introduce' at row 1

这是因为mysql编码的问题

打开mysql

?
1
mysql -u root -p

输入密码后,输入下面这一行代码来显示mysql当前使用的编码:

?
1
SHOW VARIABLES LIKE 'character%';

mysql输入中文出现ERROR 1366的解决方法由上

图能看出,database和server的字符集使用了latin1编码方式,latin1编码是不支持中文的,所以存储中文时会出现错误。

解决办法:修改 /etc/mysql/my.cnf (这是mysql默认的安装路径)
打开my.cnf后,在文件内的[mysqld]下增加如下几行代码:

?
1
2
3
4
5
6
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
[mysql]
default-character-set=utf8

保存并退出。

重启mysql服务

?
1
service mysql restart

现在再把mysql中有问题的表(table)删掉重建即可结局问题。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。