2012-10-24 29 views
2
相匹配的字符

如何讓MySQL對字符匹配更加嚴格?MySQL - 與

一個簡單的例子,我的意思是說,我有一個單列'名稱'的表。在本專欄中,我有兩個名字:「喬治」和「豪爾赫」這些名稱的唯一區別是「在e如果我運行查詢SELECT * FROM table WHERE name = 'Jorge',它將返回

+--------+ 
| name | 
+--------+ 
| Jorge | 
| Jorgé | 
+--------+ 

,如果我跑。 。查詢SELECT * FROM table WHERE name = 'Jorgé',它返回相同的結果表我將如何設置MySQL的是在更加嚴格,這樣就不會返回這兩個名字前面

感謝

快速編輯:我使用的UTF-8字符編碼

+0

使用十六進制或共同表達 – jcho360

回答

2

如果要確保沒有類似字符(如eé)被視爲相同,則應在該列上使用utf8_bin歸類。我假設你現在使用utf8_general_ci,這將認爲一些相似的字符是相同的。 utf8_bin只匹配完全相同的字符。

1

@ G-金塊是正確的,但因爲你正在尋找西班牙的東西,你可能也有興趣在utf8_spanish_ciutf8_spanish2_ci。它們對應於現代和傳統的西班牙語。 「ñ」被認爲是一封單獨的信件,傳統上,「ch」和「ll」也被視爲單獨的字母。

這裏更多:http://dev.mysql.com/doc/refman/5.0/en/charset-unicode-sets.html

+0

西班牙語是不是我的工作的唯一字符集,那只是浮現在腦海的第一個例子。 'utf8_bin'整理對我很有幫助。 –

+0

很酷,感謝您的回覆。 –