2013-01-18 18 views
2

我有我的mySQL排序規則設置爲utf8_general_ci,儘管我的搜索是不區分變音的,即LIKE'測試'返回't'st',一些搜索,我會喜歡工作失敗,特別是LIKE'主持人'不會返回'høst'。MySQL搜索非英文字符 - o =ø等

有兩個問題:是否有表格顯示哪些字符對於特定歸類是等同的?有沒有辦法在mySQL中將兩個字符設置爲等同於重寫?

感謝您的幫助。

回答

2

要回答第一個問題,您可以參考collation-charts.org。這是一種痛苦,因爲你需要手動搜索每個排序規則,但它會告訴你它們是如何堆疊的。

MySQL手冊中的相關章節也可以找到here

至於你的第二個問題,我不確定你是否可以對某個特定的字符進行顯式覆蓋;但是,如果您願意,您可以創建自己的自定義字符集。

您可以閱讀關於創建自定義排序規則from the MySQL manual

+0

噸非常有用的信息,謝謝。我不明白爲什麼utf8_general和utf8_unicode有多個排序規則集,但我確定信息在那裏。不過,它確實證實Ø不被認爲是O的變音符號,所以我必須在我的PHP代碼中做一個特殊的str_replace,我希望它們能夠像這樣返回。謝謝! – dgig

+0

沒問題,如果您覺得我已經充分回答了您的問題,請不要忘記將問題標記爲已回答。 –