java.sql.SQLException: Incorrect string value: '\xE8\xB6\x85\xE9\x98\xB3...' for column
时间: 2023-11-20 09:59:28 浏览: 32
这个错误通常是由于MySQL字符集不支持存储特定字符而引起的。解决这个问题的方法是将MySQL字符集更改为支持存储这些字符的字符集,例如utf8mb4。具体步骤如下:
1. 确认MySQL版本是否支持utf8mb4字符集。可以通过以下命令检查:
```shell
SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%'; ```
如果MySQL版本支持utf8mb4,则应该能够看到字符集和排序规则中包含utf8mb4。
2. 更改MySQL字符集为utf8mb4。可以通过以下步骤更改:
a. 编辑MySQL配置文件my.cnf或my.ini,将以下行添加到[mysqld]部分:
```shell
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
```
b. 重启MySQL服务以使更改生效。
3. 更改表的字符集和排序规则为utf8mb4。可以通过以下命令更改:
```shell
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```
其中,table_name是要更改的表的名称。
4. 更改连接的字符集为utf8mb4。可以通过以下命令更改:
```shell
SET NAMES utf8mb4;
```
这将更改当前连接的字符集为utf8mb4。
请注意,如果您使用的是JDBC连接MySQL,则需要在JDBC URL中指定字符集,例如:
```shell
jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=utf8mb4
```