mysql utf8mb4 \u常规\u ci问题

1aaf6o9v  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(501)

我对utf8mb4\u general\u ci表中的unicode字符有问题

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

退货

musca
muşca
muşcă

我想知道的是,如果这是一个错误-听起来像它;
如果它影响了搜索,它可能会,或者说它应该这样做;我无法使列成为唯一索引
我应该做的任何事都会考虑ă 还有s和ş 作为不同的实体(可能是一个â, t和ţ, 我和î 当然,但我还没查过)。
我应该将unicode字符存储为&#226&#259&#351&ţ355&ţ238吗?
我将需要检索用户输入的精确匹配。
编辑以添加:
答案就在评论中:我应该按照madhur bhaiya的解释和演示,将这些列整理为utf8mb4_0900_as_cs

hmtdttj4

hmtdttj41#

你需要 COLLATION utf8_romanian_ci (或utf8mb4\u罗马尼亚语\u ci)。它是唯一将这5个字符作为单独的“字母”处理的排序规则。
参考文献:http://mysql.rjweb.org/utf8_collations.html
这在大多数版本的mysql/mariadb中都是可用的。没有必要这样做 utf8mb4_0900_as_cs ,这意味着MySQL8.0。

相关问题