MySQL 错误 1366: 'Incorrect string value' 解决方法
MySQL 错误 1366: 'Incorrect string value' 解决方法
您遇到的错误信息:
1366 - Incorrect string value: '\xE9\xA9\xAC\xE4\xB8\x8A...' for column '客户姓名' at row 1 时间: 0s
这个错误是因为在'客户姓名'这一列插入了一个包含非 ASCII 字符的字符串,但是在该列的字符集设置中不包含该字符集。在这种情况下,您需要更改字符集或使用适当的字符编码。
解决方法:
-
更改数据库字符集:
- 使用
ALTER DATABASE database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci命令更改数据库字符集。 - 使用
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci命令更改表格字符集。
- 使用
-
使用适当的字符编码:
- 在插入数据之前,使用
iconv或其他工具将字符串转换为 UTF-8 编码。 - 在您的程序代码中,确保使用正确的字符编码设置。
- 在插入数据之前,使用
示例:
假设您要将 '马上发' 插入到 '客户姓名' 列,您可以使用以下代码:
INSERT INTO customerinfo(`客户编号`,`客户姓名`,`客户性别`,`身份证号码`,`客户联系电话`,`客户类型`,`备注信息`) VALUES(124424,'马上发','男',25524555544,15844582,'你们没打','无情');
注意:
- 使用
utf8mb4字符集可以支持所有 Unicode 字符。 - 确保您的应用程序和数据库使用相同的字符编码。
- 如果您仍然遇到问题,请检查您的数据库连接设置和字符集配置。
原文地址: https://www.cveoy.top/t/topic/nP71 著作权归作者所有。请勿转载和采集!