ERROR 1366 (HY000): Incorrect string value: ‘\xE5\xB0\x8F\xE6\x98\x8E‘ for column ‘name‘ at row 1

1.出现问题的原因:

数据库的编码是Latin1,无法插入汉字。

如何检查自己的数据库编码呢?

show variables like 'character%';

在这里插入图片描述这里我是更改完的,默认是Latin1。
character_set_database=Latin1就是新建数据库的时候不修改编码的时候数据库编码默认是Latin1,就是一个库里的所有表的编码格式都是Latin1(在不指定编码格式的时候)

检查插入数据失败的表的编码格式

show create table course;

在这里插入图片描述这个是我改过的,没改之前是Latin1。
Latin1的话插入中文就会报错。

2.解决思路

修改数据库的编码为UTF8或GBK具体看自己需求更改

如何修改数据库编码格式呢?

alter database db1 character set utf8;

如何修改表的编码格式呢?

alter table course default character set utf8;

如何修改字段字符集?

alter table course change name name varchar(255) character set utf8;

修改完之后,如果插入中文还是失败的话。
就删了旧数据库重新建一个数据库吧。建数据库的时候指定数据库的编码格式


create database 数据库名 character set utf8;
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值