我在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列
答案 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。