我想,通常人们都希望让他们的程序表现得像这样,但在我的情况下,这与我想要的完全相反。
不知何故,我的MySQL数据库能够读取不同的重音字符。例如,shī
,shí
,shǐ
,shì
和shi
都是相同的。当我搜索一个时,我也会得到其他人。 Proofpic:
这不是我想要的,因为对我而言,这些价值观是非常不同的。基本上,pic上的查询必须返回空行,因为该表中没有shi
(没有重音)的单个条目。
我的表类型是InnoDB,整理是utf8_general_ci
。
答案 0 :(得分:2)
使用utf8_bin
归类。您不必更改整个列的排序规则,您可以在每个查询的基础上使用它
WHERE `pinyin` = 'shi' COLLATE utf8_bin
您还可以尝试使用可能更适合您的不同排序规则(utf8_bin
适用于binery级别,因此即使两个具有不同字节代码的unicode字符相同,它们也会看到它们不同)。 / p>