小编Jak*_*kob的帖子

虽然排序规则是utf8mb4_unicode_ci,但SQL并没有区分你和ü

在表格中x,有一列包含值uü.

SELECT * FROM x WHERE column='u'.

这会返回uAND ü,虽然我只是在寻找u.

表的整理是utf8mb4_unicode_ci.无论我在哪里阅读类似的问题,每个人都建议使用这种整理,因为他们说这utf8mb4真的涵盖了所有字符.通过这种整理,应该解决所有字符集和整理问题.

我可以插入ü,è,é,à,Chinese characters,等等.当我做SELECT *,他们也检索和正确显示.

只有当我按照上面的例子(SELECT WHERE)或者在UNIQUE INDEX列上使用a 来比较两个字符串时,才会出现此问题.当我使用时UNIQUE INDEX,"ü"当我已经"u"在列中时,没有插入a .因此,当SQL进行比较u并且ü为了确定ü是否是唯一的时,它认为它是相同的u并且不插入ü.

我改变了一切,utf8mb4因为我不想再担心字符集和整理了.但是,utf8mb4当涉及到比较字符串时,它似乎不是解决方案.

我也试过这个: SELECT * FROM x WHERE _utf8mb4 'ü' COLLATE utf8mb4_unicode_ci …

mysql sql utf-8 utf utf8mb4

8
推荐指数
2
解决办法
1397
查看次数

标签 统计

mysql ×1

sql ×1

utf ×1

utf-8 ×1

utf8mb4 ×1