Mysql 无法输入中文错误:Incorrect string value: '\xE7\xA8\x8B\xE5\xBA\x8F...' for column 'course' at row 1

问题描述:
(1)在ubuntu终端输入命令mysql -uroot -p,然后输入密码,进入mysql客户端,可是发现无论如何输入不了中文。然后问度娘,说是编码格式的问题。然后输入如下命令:

SHOW VARIABLES LIKE "%char%";

发现自己的编码格式不对,然后输入以下命令,更改编码格式

set character_set_database=utf8;

此时可以输入中文了,但是在插入数据库时又报如下错误:Incorrect string value: ‘\xE7\xA8\x8B\xE5\xBA\x8F…’ for column ‘course’ at row 1
然后问查询了表结构,发现表数据库引擎的编码方式不对,如下所示:

show create table user;

这里写图片描述
然后又修改数据库引擎的编码格式如下所示:

ALTER TABLE user CHARSET=utf8;

以为这下可以了,但是还是出现上述错误,又百度,查询了一下表结构,如下:
这里写图片描述
发现虽然数据库引擎的编码格式虽然改过来了,但是表中的字段属性仍然不是utf8,所以又继续修改字段编码,用如下命令修改字段编码。

ALTER TABLE `user` CHANGE `email` `email` VARCHAR(36) CHARACTER SET utf8 NOT NULL;

其他字段同理,至此问题解决。
其实还有别的方法,就是在最初创建数据库时,将数据库引擎编码方式改为utf8,不使用默认的数据库引擎。

猜你喜欢

转载自blog.csdn.net/liushao123456789/article/details/79687263
今日推荐