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

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

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