提问人:LDevelop 提问时间:10/12/2023 更新时间:10/12/2023 访问量:43
utf8mb4_cs_0900_as_cs 和 utf8mb4_900_as_cs有什么区别?
What is the difference between utf8mb4_cs_0900_as_cs and utf8mb4_900_as_cs?
问:
我在为我的 SQLALCHEMY API 构建单元测试时遇到了问题。我注意到我的MySQL数据库在要求按字符串列排序时返回意外的顺序。 稍加调查表明,我们的数据库正在使用 utf8mb4_cs_0900_as_cs。 但是当尝试使用 utf8mb4_0900_as_cs 订购时,我得到了预期的订单。
有人可以向我解释这两个排序规则之间有什么区别吗?
mysql> SELECT
-> column_0 AS name1
-> FROM
-> (VALUES
-> ROW('default_chanakah'),
-> ROW('default_aaa'),
-> ROW('default_zzz'),
-> ROW('default_hsunan'),
-> ROW('default_kourin1')
-> ) AS hardcodedNames
-> ORDER BY
-> name1
-> COLLATE utf8mb4_cs_0900_as_cs;
+------------------+
| name1 |
+------------------+
| default_aaa |
| default_hsunan |
| default_chanakah |
| default_kourin1 |
| default_zzz |
+------------------+
5 rows in set (0.00 sec)
mysql> SELECT
-> column_0 AS name1
-> FROM
-> (VALUES
-> ROW('default_chanakah'),
-> ROW('default_aaa'),
-> ROW('default_zzz'),
-> ROW('default_hsunan'),
-> ROW('default_kourin1')
-> ) AS hardcodedNames
-> ORDER BY
-> name1
-> COLLATE utf8mb4_0900_as_cs;
+------------------+
| name1 |
+------------------+
| default_aaa |
| default_chanakah |
| default_hsunan |
| default_kourin1 |
| default_zzz |
+------------------+
5 rows in set (0.00 sec)
答:
5赞
Iłya Bursov
10/12/2023
#1
utf8mb4_cs_0900_as_cs
是捷克语 utf8(第一个 cs 表示这一点),这个字母表包含“字母”,它位于Ch
h
这就是为什么 HSusan 在 CHAnakah 之前的原因
与 https://en.wikipedia.org/wiki/Czech_orthography 相比
评论
1赞
Renat
10/12/2023
仅供参考。在utf8mb4_LOCALE _ 0900 _ ??_??归类名称,捷克语 lang 是 或 ,根据 dev.mysql.com/doc/refman/8.0/en/charset-unicode-sets.html , 表 10.3 Unicode 归类语言说明符cs
czech
0赞
Rick James
10/14/2023
同时,是一个通用的排序规则 -- 对许多语言来说都很好,但对少数语言来说真的很好。utf8mb4_0900_as_cs
评论