... HLO
我一直在制作旁遮普语的拼写检查。除了旁遮普语言的变音符号外,一切都很好。与e
和é
一样,旁遮普也有变音符号ਸ
和ਸ਼
。但问题是,当我在数据库中搜索时,它认为ਸ਼
和ਸ
这个词是相同的。数据库以utf-8
格式存储。我正在为数据库和表使用排序规则utf8_unicode_ci
。
mysql_query("SET charset utf8");
$exists = mysql_query("SELECT COUNT(word) FROM unicode WHERE word = '$str'");
如果计数为0,则表示单词错误。 $str
就是这个词。当我尝试搜索时,它会同时显示ਸ
和ਸ਼
这两个字。 ਸ਼
这个词是正确的。
我尝试使用utf8_bin
将排序规则更改为COLLATE utf8_bin
,但它表示错误ਸ
和ਸ਼
。我甚至尝试过utf8_general_ci
并更改表和数据库的排序规则。
要么说不正确,要么两者都正确。但其中一个是正确的。
我的主要问题是变音符号敏感搜索,它不适用于utf8_bin
......
Plzz Help..Thxx提前....
答案 0 :(得分:2)
SELECT COUNT(word) FROM unicode WHERE BINARY word = '$str'
BINARY
关键字使mysql进行直接的逐位比较。