如何在 MySQL 中为日语设置架构排序规则

How to set schema collation in MySQL for Japanese

我在整理时遇到问题。我想设置排序规则以支持日语。例如,当 table.firstname 有 'あ' 时,带有 'ぁ' 的查询应该 return 记录。提前致谢。

这就像 "uppercase" 和 "lowercase",对吗?

mysql> SELECT 'あ' = 'ぁ' COLLATE utf8_general_ci;
+---------------------------------------+
| 'あ' = 'ぁ' COLLATE utf8_general_ci   |
+---------------------------------------+
|                                     0 |
+---------------------------------------+

mysql> SELECT 'あ' = 'ぁ' COLLATE utf8_unicode_ci;
+---------------------------------------+
| 'あ' = 'ぁ' COLLATE utf8_unicode_ci   |
+---------------------------------------+
|                                     1 |
+---------------------------------------+

mysql> SELECT 'あ' = 'ぁ' COLLATE utf8_unicode_520_ci;
+-------------------------------------------+
| 'あ' = 'ぁ' COLLATE utf8_unicode_520_ci   |
+-------------------------------------------+
|                                         1 |
+-------------------------------------------+

我建议将您的列更改为 COLLATION utf8_unicode_520_ci(或 utf8mb4_unicode_520_ci)。

如果您希望包含中文,请务必使用utf8mb4。 (也许这个建议也适用于汉字。)