Incorrect string value: '\xE7\x88\xB1\xE5\x90\x83' for column 'c_remarks' at row 1
时间: 2023-06-30 13:16:16 浏览: 104
这个错误通常是由于插入的数据包含了MySQL不支持的字符集,导致MySQL无法正确地存储这些数据。解决这个问题的方法如下:
1. 确认数据库字符集设置是否正确。可以通过以下命令查看当前数据库的字符集:
```sql
SHOW VARIABLES LIKE 'character_set_database';
```
如果数据库字符集设置不正确,可以使用以下命令修改:
```sql
ALTER DATABASE db_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```
2. 确认表的字符集设置是否正确。可以通过以下命令查看当前表的字符集:
```sql
SHOW CREATE TABLE table_name;
```
如果表的字符集设置不正确,可以使用以下命令修改:
```sql
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```
3. 如果以上两个步骤都没有解决问题,可以尝试修改MySQL的配置文件my.cnf,在[mysqld]下添加以下配置:
```ini
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
```
然后重启MySQL服务即可。
4. 如果还是出现错误,那么可能是插入的数据中包含了MySQL不支持的字符集。可以尝试将数据转换成MySQL支持的字符集,比如将UTF-8编码的数据转换为UTF-8MB4编码。
```python
data = '爱吃'
data = data.encode('utf-8').decode('utf-8', 'ignore')
```
以上是一些常见的解决方法,可以根据实际情况进行尝试。
阅读全文