MySql报 java.sql.SQLException: Incorrect string value 乱码解决方法
文章目录
报错如下
- 当
MySQL
报java.sql.SQLException: Incorrect string value
这种乱码相关的错误时,可以尝试以下几种解决方法:
修改数据库字符集和排序规则
检查数据库字符集和排序规则
- 首先,登录到MySQL数据库管理终端。使用以下命令查看当前数据库的字符集和排序规则:
SHOW VARIABLES LIKE 'character_set_database';
SHOW VARIABLES LIKE 'collation_database';
- 如果字符集不是
utf8mb4
(对于包含多种语言字符的情况推荐使用这个字符集),或者排序规则不符合你的需求,可能需要进行修改。
修改数据库字符集和排序规则(谨慎操作)
- 备份你的数据库,因为修改字符集和排序规则可能会影响现有数据。
- 可以使用以下命令修改数据库的字符集和排序规则。例如,将数据库
your_database_name
的字符集修改为utf8mb4
,排序规则修改为utf8mb4_unicode_ci
:
ALTER DATABASE your_database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
修改表字符集和列字符集(如果数据库修改后还存在问题)
- 对于数据库中的每个表,可以使用以下命令修改表的字符集:
ALTER TABLE your_table_name CONVERT