MySQL 错误 'Incorrect string value' 解决方法
MySQL 错误 'Incorrect string value' 解决方法
在使用 MySQL 数据库时,经常会遇到 'Incorrect string value' 错误,例如:
INSERT INTO customerinfo(`客户编号`,`客户姓名`,`客户性别`,`身份证号码`,`客户联系电话`,`客户类型`,`备注信息`) VALUES(124424,'阿飞','男',25524555544,15844582,'你们没打','无情')
1366 - Incorrect string value: '\xE9\x98\xBF\xE9\xA3\x9E' for column '客户姓名' at row 1 时间: 0s
这个错误通常是由于数据库字符集与实际插入的值不匹配导致的。
原因分析:
- 数据库字符集不支持该值的编码:在这个例子中,'客户姓名' 列的值是中文字符'阿飞',但是数据库字符集可能不支持该字符编码。
解决方法:
-
确认数据库字符集:
使用以下 SQL 语句查询当前数据库的字符集:
SHOW VARIABLES LIKE 'character_set_database';如果结果不是
utf8mb4或utf8,则需要修改数据库字符集。 -
修改数据库字符集:
使用以下 SQL 语句修改数据库字符集:
ALTER DATABASE database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;注意:
database_name替换为您的数据库名称。 -
修改数据表字符集:
使用以下 SQL 语句修改数据表的字符集:
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;注意:
table_name替换为您的数据表名称。 -
使用合适的编码插入数据:
在插入数据时,确保使用与数据库字符集一致的编码。例如,使用
utf8mb4或utf8编码插入中文字符。
总结:
通过确认数据库字符集,并根据需要修改数据库字符集和数据表字符集,以及使用合适的编码插入数据,就可以解决 'Incorrect string value' 错误。
原文地址: https://www.cveoy.top/t/topic/nP8A 著作权归作者所有。请勿转载和采集!