如何在MySql中進行重音敏感搜索我有一個MySQL表與utf8通用ci整理。在表格中,我可以看到兩個條目:阿巴德阿巴德我使用的查詢如下所示:SELECT * FROM `words` WHERE `word` = 'abád'查詢結果給出了兩個單詞:阿巴德阿巴德有沒有辦法表明我只想讓MySQL找到重音詞?我希望查詢只返回阿巴德我也試過這個查詢:SELECT * FROM `words` WHERE BINARY `word` = 'abád'它沒有給我任何結果。感謝您的幫助。
3 回答

慕雪6442864
TA貢獻1812條經驗 獲得超5個贊
如果您對該字段的搜索始終是重音敏感的,則將字段的排序規則聲明為utf8_bin(將比較utf8編碼字節的相等性)或使用特定于語言的排序規則來區分重音和非字符串 - 有氣味的人物。
col_name varchar(10) collate utf8_bin
如果搜索通常不區分重音,但您想為此搜索設置例外,請嘗試;
WHERE col_name = 'abád' collate utf8_bin

猛跑小豬
TA貢獻1858條經驗 獲得超8個贊
在我的版本(MySql 5.0)中,沒有任何utf8字符集整理可用于不區分大小寫,重音敏感的搜索。utf8唯一的重音敏感分類是utf8_bin。但它也是區分大小寫的。
我的工作是使用這樣的東西:
SELECT * FROM `words` WHERE LOWER(column) = LOWER('aBád') COLLATE utf8_bin
添加回答
舉報
0/150
提交
取消