2023-05-30T01:33:57.248435Z 0 [ERROR] COLLATION 'utf8_unicode_ci' is not valid for CHARACTER SET 'utf8mb4' 2023-05-30T01:33:57.248830Z 0 [ERROR] Aborting
时间: 2024-02-19 07:03:17 浏览: 204
linux下jsp连接mysql5.1中文乱码解决方法.doc
这个错误通常发生在MySQL数据库中,是由于字符集设置不匹配导致的。utf8_unicode_ci是针对utf8字符集的排序规则,而utf8mb4是utf8的超集,包含更多的Unicode字符。因此,当你在使用utf8mb4字符集的时候,应该使用utf8mb4_unicode_ci排序规则。
解决这个问题的方法是修改MySQL配置文件my.cnf,确保正确设置了字符集和排序规则。具体步骤如下:
1. 找到并打开my.cnf文件。
2. 在[mysqld]部分添加以下两行:
```
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
```
这会将MySQL服务器的默认字符集和排序规则设置为utf8mb4和utf8mb4_unicode_ci。
3. 保存并关闭my.cnf文件,重启MySQL服务,使更改生效。
如果还是出现相同的错误,请使用以下SQL语句修改数据库表的字符集和排序规则:
```
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```
注意:这个操作会修改表中所有列的字符集和排序规则,因此在执行之前需要备份数据。
阅读全文