【MySQL】报错 Incorrect string value: ‘\xE5\xA4\xA9\xE5\x96\x9C‘ for column的解决方法

本文讲述了在向数据库插入中文时遇到的错误,解决方法是检查并修改数据库表的字符集为UTF-8,使用ALTERTABLE语句更改列的字符集和校验规则,确保成功插入中文数据。

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


在这里插入图片描述

在向数据库中插入中文时遇到报错Incorrect string value: '\xE5\xA4\xA9\xE5\x96\x9C' for column ,此时为数据库的编码格式有问题,可以按照如下方法修改


解决方法如下:

使用show create table 表名查看数据库表信息:

在这里插入图片描述

可以看到此时的数据库编码格式为latin

输入以下sql语句将某一字段的字符集和校验规则修改为utf-8

alter table 表名 modify 列名 列数据类型 character set utf8 collate utf8_general_ci;

例如:

alter table user_info modify name varchar(100) character set utf8 collate utf8_general_ci;

在这里插入图片描述

修改后成功向表中的name字段插入中文数据:

insert into user_info (name) values ('天喜');

在这里插入图片描述

根据提供的引用内容,出现"Incorrect string value"的错误是由于在插入数据时,字符串值包含了无法识别的字符或编码问题导致的。这可能是因为数据库的字符集不支持该字符或者字符集不正确。 解决这个问题的方法有以下几种: 1. 确保数据库的字符集正确设置为支持该字符串的字符集。可以使用以下命令查看和修改数据库的字符集: ```sql -- 查看数据库字符集 SHOW VARIABLES LIKE 'character_set_database'; -- 修改数据库字符集 ALTER DATABASE database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` 2. 确保应用程序连接数据库时使用的字符集与数据库的字符集一致。可以在连接数据库时设置字符集,例如在连接MySQL数据库时可以使用以下代码: ```python import mysql.connector config = { 'user': 'your_username', 'password': 'your_password', 'host': 'localhost', 'database': 'your_database', 'charset': 'utf8mb4' # 设置字符集为utf8mb4 } cnx = mysql.connector.connect(**config) ``` 3. 如果字符串中包含特殊字符或非ASCII字符,可以尝试对字符串进行编码转换。例如,将字符串转换为UTF-8编码: ```python string = '\xE5\xAE\x9C\xE6\x98\xA5...' encoded_string = string.encode('utf-8') ``` 4. 如果字符串中包含无法识别的字符,可以尝试删除或替换这些字符,或者使用转义字符进行处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天喜Studio

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值