在 MySQL 8.0.0 版本之后,默认的字符集和校对规则已经变成了 utf8mb4_general_ci。如果您遇到了 Unknown collation: 'utf8mb4_0900_ai_ci' 的错误,只需要将 SQL 语句中所有 utf8mb4_0900_ai_ci 改为 utf8mb4_general_ci 即可。

例如,在以下的 SQL 语句中:

CREATE TABLE `admin`  (
  `Aid` int(0) NOT NULL AUTO_INCREMENT,
  `Ausername` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `Apassword` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '123',
  ... 
);

您需要将 utf8mb4_0900_ai_ci 更改为 utf8mb4_general_ci,修改后的代码如下:

CREATE TABLE `admin`  (
  `Aid` int(0) NOT NULL AUTO_INCREMENT,
  `Ausername` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  `Apassword` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '123',
  ... 
);

进行更改后,该错误将不再出现。

关于 utf8mb4_general_ciutf8mb4_0900_ai_ci

  • utf8mb4_general_ci 是 MySQL 8.0.0 版本中默认的字符集和校对规则,它可以支持更广泛的字符,包括表情符号等。
  • utf8mb4_0900_ai_ci 是一个较旧的校对规则,它在某些情况下可能无法完全兼容现代字符。

建议:

在 MySQL 8.0.0 版本及以上,建议使用 utf8mb4_general_ci 作为默认的字符集和校对规则,因为它更稳定且支持更多字符。

MySQL 8.0 报错 'Unknown collation: 'utf8mb4_0900_ai_ci'' 的解决方法

原文地址: https://www.cveoy.top/t/topic/oWu2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录