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,不使用默认的数据库引擎。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值