插入数据提示:1366 - Incorrect string value: ‘lxE7\x8F\xAD’ for column ‘des‘ at row 1

当尝试使用INSERT语句时遇到错误,原因可能是数据库表的字符集为latin1而非utf8。解决方法包括检查并修改数据库和表的字符集,如执行`SHOW VARIABLES LIKE 'character_set_%';`来查看编码,然后使用`ALTER DATABASE`和`ALTER TABLE`命令将编码更改为utf8。如果这些步骤无效,可能需要编辑my.ini配置文件。确保正确设置后,删除旧表,重建并插入数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:在用插入语句的时候,提示对应的错误信息

比如:

insert into classroom value(1,'java','java班')

提示错误信息如下:

问题:因为创建表的数据编码默认就是瑞典latin1,修改编码,如utf8问题即可解决。

解决方法如下:

1. 执行如下命令,查看对应的编码。

SHOW VARIABLES LIKE 'character_set_%';

2. 把对应的为latin1的,修改成utf8

SET character_set_database = utf8

如下图:

3. 删除之前的表,并且设置对应的编码格式 。如后面设置的:DEFAULT CHARSET = utf8 ;最后再重新插入数据就可以了。

CREATE TABLE classroom(
cid int,
cname varchar(20),
des varchar(50)
) DEFAULT CHARSET = utf8

以下附带几个修改默认编码的SQL:(上面操作完毕,这儿的内容无需管它。

# 查看数据库的默认编码
show create database 数据库名;
# 修改数据库成utf8的.
alter database 数据库名 character set utf8;

# 查看表的默认编码
show create table 表名;
# 修改表默认用utf8.
alter table 表名 character set utf8;
 

# 修改字段用utf8
malter table 表名 modify 字段名 varchar(50) CHARACTER SET utf8;

如果以上操作方法无效,可以尝试修改my.ini的文件。可参考如下地址:

******** 等待维护。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值