在MySQL 5.5中,搜索結果使用utf8_general_ci歸類和utf8字符集服務器對德文變音符區分大小寫。我在我的2個值中數據庫表說öder和Öder。當我運行一個查詢來使用關鍵字'Öder'搜索字符串時,只有Öder被檢索作爲搜索結果,並且以öie'örder'開頭的值不被檢索。如果我更改了字符集服務器到MySQL服務器的my.cnf文件中的latin1,並整理到latin1_general_ci(相同的字符集和排序規則更改爲latin1,我也爲相應的數據庫和表格),它工作正常,即兩個值都作爲搜索結果檢索。但是,有沒有一種方法可以使用utf8作爲字符集服務器來實現不區分大小寫的搜索德語變音符號?面對這個問題, g othe德國變音,例如ü,Ü,ä,Ä。使用utf8_general_ci歸類和utf8字符集服務器搜索結果是區分大小寫的德語變音符號
-1
A
回答
0
使用MySQL命令行工具來測試的東西:
mysql> SELECT 'Ö' = 'ö' COLLATE utf8_general_ci;
+-------------------------------------+
| 'Ö' = 'ö' COLLATE utf8_general_ci |
+-------------------------------------+
| 1 |
+-------------------------------------+
1
意味着true
; 0
表示false
。
任何utf8_..._ci
排序規則都會將一串重音/不重音的大寫/小寫字符視爲相等。例如,utf8mb4_german2_ci表示這些值相等:O=o=º=Ò=Ó=Ô=Õ=ò=ó=ô=õ
並在oe=Ö=ö=Œ=œ
之前排序。
Here是大多數字母在大多數utf8排序規則中的排名。
對於大多數用法,_general_ci不如_unicode_ci,它不如_unicode_520_ci,它將被MySQL 8.0中的Unicode 9.0標準取代。
我認爲german2是針對「電話簿」整理。但也許不是。在8.0中,utf8mb4_german2_ci
整理D=d=Ď=ď < Dž=dz=dž < Ð=ð
。但是utf8mb4_de_pb_0900_ai_ci
有D=d=Ð=ð=Ď=ď < Dž=dz=dž
。更多詳情here。
相關問題
- 1. 德國變音符號和UTF8歸類,重訪
- 2. 因爲不區分大小寫而無法使用俄語lang搜索mysql(utf8_general_ci)
- 3. MySQL - 使用波蘭語字符進行區分重音的搜索 - UTF8
- 4. 如何用空格實現Solr不區分大小寫和不區分變音的子字符串搜索?
- 5. python:lower()德語變音符號
- 6. 搜索字符與小寫和大寫
- 7. 實體框架和字符串,區分大小寫搜索
- 8. 搜索大小寫字符
- 9. QAbstractTableModel和Unicode(德語變音符號)
- 10. QString和德語變音符號
- 11. 不區分大小寫的字符串搜索
- 12. 搜索不區分大小寫的字符串
- 13. 高效搜索不區分大小寫的ascii子字符串
- 14. 整理「utf8_general_ci」是無效字符集「LATIN1」 - 即使UTF8是建立
- 15. git fetch變化德語變音符號
- 16. 搜索按鈕,不區分大小寫接受特殊字符
- 17. 不區分大小寫在DOM中搜索字符串
- 18. Oracle:搜索變音符號
- 19. 部分匹配忽略大小寫和變音符號
- 20. 重音字符的大寫和小寫
- 21. postgresql + textsearch +德語變音+ UTF8
- 22. 彈性搜索搜索不區分大小寫的連字符whitecaps
- 23. 角4不區分大小寫的管道搜索結果
- 24. Python搜索一個使用不區分大小寫的集合
- 25. 與字符串大小寫變音符號,並在Python
- 26. 符號鏈接 - 區分大小寫
- 27. 使用CloudKit進行NSPredicate不區分大小寫的字符串搜索
- 28. OneDrive OData 4使用UTF8字符過濾搜索結果
- 29. Android是否支持德語使用phonegap(不顯示德語變音符號)
- 30. 即使使用COLLATE也不區分大小寫的問題utf8_general_ci
沒有整理會處理''örder'='öder' - 是一個錯字嗎?此外,請說明您是否希望'oöder'匹配'oder' - 這是重音剝離,與個案摺疊無關。 –
如果用Ö搜索,則以ö開頭的單詞不會被檢索到。我不關心訂單是否匹配。我只處理Öder和örder。 –