mysql中Incorrect string value: '\xE7\xA7\x8B\xE5\xAD\xA3...' for column 'gamename' at row 1
时间: 2023-12-07 11:38:57 浏览: 88
这个错误是由于MySQL编码字符集不是UTF8格式导致的。可以通过以下两种方式解决该问题:
1. 直接在命令行中修改字符集编码格式:
```sql
ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```
其中,utf8mb4是MySQL支持的最多字符集,可以存储任何Unicode字符,而utf8只能存储部分Unicode字符。
2. 修改MySQL配置文件my.cnf,使其默认使用utf8mb4字符集:
```ini
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
```
修改完my.cnf后,需要重启MySQL服务。
相关问题
Incorrect string value: '\xE7\xA7\x8B\xE5\xAD\xA3...' for column 'gamename' at row 1
这个错误通常是由于数据库字符集不支持插入的字符串导致的。解决这个问题的方法有以下几种:
1.将数据库字符集改为支持插入字符串的字符集,例如utf8mb4。
2.将数据表字符集改为支持插入字符串的字符集,例如utf8mb4。
3.将字段字符集改为支持插入字符串的字符集,例如utf8mb4。
下面是三种方法的具体实现:
1.改数据库字符集,排序规则。
```sql
ALTER DATABASE database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```
2.改数据表字符集,排序规则。
```sql
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```
3.改字段字符集,排序规则。
```sql
ALTER TABLE table_name MODIFY COLUMN column_name VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```
Incorrect string value: '\xE5\x8A\xA0\xE7\x8F\xAD' for column 'NAME' at row 1
这个错误提示是因为在插入数据时,数据中包含了无法被当前数据库字符集所支持的字符。例如,这里的'\xE5\x8A\xA0\xE7\x8F\xAD'实际上是“加班”的UTF-8编码,是当前数据库字符集无法支持这个编码。解决这个问题的方法是将数据库字符集修改为支持这个编码的字符集,例如UTF-8。同时,也需要确保在插入数据时,数据的编码与数据库字符集一致。如果修改整个表的字符集不方便,也可以只修改相应列的字符集。
阅读全文