mysql输入中文出现ERROR 1366

时间:2023-03-10 02:04:10
mysql输入中文出现ERROR 1366

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

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

这是因为mysql编码的问题

打开mysql

mysql -u root -p

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

SHOW VARIABLES LIKE 'character%';

mysql输入中文出现ERROR 1366

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

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

[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
[mysql]
default-character-set=utf8

保存并退出。

重启mysql服务

service mysql restart

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

参考文献: 
http://www.cr173.com/html/50452_1.html 
http://blog.sina.com.cn/s/blog_673faff10100qbyh.html 
http://www.dutycode.com/post-5.html