我设置了一个表格,其中字段为TEXT utf8_general_ci
。
字段数据设置为Jovíkhan
(其中í实际上是ALT-161)。
我搜索Jovikhan
(常规我,不是ALT-161),我返回了所有结果,好像我实际使用过ALT-161一样。
SELECT * FROM Table WHERE Field = 'Jovikhan';
在这里让我有点疯狂......我现在直接在phpMyAdmin中遇到这个问题...为什么会返回这些字段,特别是如果我使用= 'Jovikhan'
与LIKE '%Jov%'
?
答案 0 :(得分:2)
_ci
中的utf_general_ci
表示不区分大小写。这会导致MySQL将i
和í
视为相同。您需要在查询中添加COLLATE utf8_bin
:
SELECT * FROM Table WHERE Field = 'Jovikhan' COLLATE utf8_bin;
有关详细讨论,请参阅this post。