mySQL select í 返回带有 i 的结果
Posted
技术标签:
【中文标题】mySQL select í 返回带有 i 的结果【英文标题】:mySQL select í returns results with i 【发布时间】:2015-08-23 09:07:53 【问题描述】:我设置了一个表,其中字段为TEXT utf8_general_ci
。
字段数据设置为Jovíkhan
(其中 í 实际上是 ALT-161)。
我搜索Jovikhan
(常规 i,而不是 ALT-161),我返回了所有结果,就好像我实际使用了 ALT-161 í。
SELECT * FROM Table WHERE Field = 'Jovikhan';
让我有点发疯......我目前直接在 phpMyAdmin 中遇到这个问题......为什么它会返回这些字段,特别是如果我使用 = 'Jovikhan'
与 LIKE '%Jov%'
?
【问题讨论】:
What are the diffrences between utf8_general_ci and utf8_unicode_ci? 的可能重复项 How to conduct an Accent Sensitive search in mysql 的可能副本。 【参考方案1】:utf_general_ci
中的 _ci
表示不区分大小写。这会导致 MySQL 将 i
和 í
视为相同。您需要在查询中添加COLLATE utf8_bin
:
SELECT * FROM Table WHERE Field = 'Jovikhan' COLLATE utf8_bin;
更多讨论请见this post。
【讨论】:
您为什么要引用另一个与OP的问题基本相同且答案与您相同的线程?请改为关闭副本。 @GolezTrol 我觉得可以更清楚地说明关于该问题的已接受答案的第一部分。但是,我也投票结束。 非常感谢...我确实进行了搜索,但并没有发现任何突出的内容...也许您不应该将其标记为重复,因为有人可能会觉得这很有用。以上是关于mySQL select í 返回带有 i 的结果的主要内容,如果未能解决你的问题,请参考以下文章
试图制作返回 mysql 'SELECT * FROM' 结果的函数,最终返回 undefined