mysql utf8mb4_general_ci问题

时间:2018-11-28 10:49:49

标签: mysql unicode

我在utf8mb4_general_ci表中的Unicode字符有问题

on_delete=models.CASCADE

返回

SELECT * FROM `t1` WHERE c1='musca' 

我想知道的是,这是否是一个错误-听起来很像;

,如果它影响搜索-可能,或者最好说应该;我无法使列唯一索引

我该怎么做,mysql会认为 a ă s ş是不同的实体? (可能还有a和â,t和ţ,以及i和î,但我尚未检查)。

我应该将Unicode字符存储为&#226&#259&#351&#355&#238吗?

我需要检索用户输入的确切匹配项。

编辑后添加:

答案在评论中:我应该按照 Madhur Bhaiya 解释和演示的方式整理utf8mb4_0900_as_cs列

1 个答案:

答案 0 :(得分:1)

您需要在有问题的表列上使用COLLATION utf8_romanian_ci(或utf8mb4_romanian_ci)。这是唯一将这5个字符视为单独的“字母”的排序规则。

参考:http://mysql.rjweb.org/utf8_collations.html

在大多数版本的MySQL / MariaDB中可用。不需要utf8mb4_0900_as_cs,这意味着MySQL 8.0。