小编Pet*_*Wal的帖子

将字符集 utf8mb4 的默认排序规则更改为 utf8mb4_unicode_ci

在不指定字符集或排序规则的情况下创建数据库时,将使用服务器默认值(如预期)。

MariaDB [(none)]> SHOW VARIABLES LIKE '%_server' ;
+----------------------+--------------------+
| Variable_name        | Value              |
+----------------------+--------------------+
| character_set_server | utf8mb4            |
| collation_server     | utf8mb4_unicode_ci |
+----------------------+--------------------+

MariaDB [(none)]> CREATE DATABASE `test-without-charset` ;
MariaDB [(none)]> SELECT `DEFAULT_COLLATION_NAME` FROM `information_schema`.`SCHEMATA` WHERE `SCHEMA_NAME` LIKE 'test-without-charset';
+------------------------+
| DEFAULT_COLLATION_NAME |
+------------------------+
| utf8mb4_unicode_ci     |
+------------------------+
Run Code Online (Sandbox Code Playgroud)

但是,在CREATE DATABASE-query 中指定字符集时,默认排序规则更改为utf8mb4_general_ci.

MariaDB [(none)]> CREATE DATABASE `test-with-charset` CHARACTER SET utf8mb4 ;
MariaDB [(none)]> SELECT `DEFAULT_COLLATION_NAME` FROM `information_schema`.`SCHEMATA` WHERE `SCHEMA_NAME` LIKE 'test-with-charset';
+------------------------+
| DEFAULT_COLLATION_NAME …
Run Code Online (Sandbox Code Playgroud)

mariadb collation character-set mariadb-10.3

6
推荐指数
1
解决办法
8731
查看次数

标签 统计

character-set ×1

collation ×1

mariadb ×1

mariadb-10.3 ×1