我的数据库中的特殊字符有问题。它们现在显示正确,但 sql 似乎在查询中忽略了它们。例如,不幸的是我有这些条目:
Morgait
Morgaít
Mórgait
现在这些名称有一个 UNIQUE 键,当尝试在第一个之后添加第二个和第三个时,它已经中断说最后 2 个无法添加,因为名称不再是唯一的。简而言之,í 被视为正常的 i,而 ó 被视为正常的 o。
当我查询时:
SELECT * FROM member WHERE charname = 'Morgait'
我得到所有 3 个结果。当我将 i 更改为 í、o 更改为 ó 或同时更改两者时也是如此。
如何让数据库看到这些差异?我将表的排序规则设置为 ascii_general_ci(也尝试了 UTF 8 unicode ci)。