In MySQL 5.5, Suche Ergebnis Groß-und Kleinschreibung für deutsche Umlaute mit utf8_general_ci Kollatierung und utf8 Zeichensatz-Server.Ich habe 2 Werte in meinem Datenbanktabelle sagen Öder und Öder.Wenn ich eine Abfrage für die Suche nach den Zeichenfolgen mit dem Schlüsselwort "Öder" ausführen, wird nur Öder als Suchergebnis abgerufen und der Wert beginnend mit Ö dh 'örder' wird nicht abgerufen. Wenn ich die ändern character-set-server zu latin1 in my.cnf Datei von MySQL server und collation zu latin1_general_ci (Gleicher Zeichensatz und Kollation ändern zu latin1, was ich auch für die entsprechende Datenbank und Tabelle getan habe), es funktioniert gut, dh beide Werte werden als Suchergebnis abgerufen. Aber gibt es eine Möglichkeit, die Suche nach deutschen Umlauten nach Groß- und Kleinschreibung mit utf8 als Zeichensatzserver zu bewerkstelligen, um anderen Wörtern, die mit und beginnen, zu begegnen Andere deutsche Umlaute wie ü, Ü, ä, ä.Suchergebnis ist case sensitive für deutsche Umlaute mit utf8_general_ci Kollatierung und utf8 Zeichensatz-Server
Antwort
die mysql Kommandozeilen-Tool verwenden Dinge zu testen:
mysql> SELECT 'Ö' = 'ö' COLLATE utf8_general_ci;
+-------------------------------------+
| 'Ö' = 'ö' COLLATE utf8_general_ci |
+-------------------------------------+
| 1 |
+-------------------------------------+
1
bedeutet true
; 0
bedeutet false
.
Jede der utf8_..._ci
Sortierungen behandelt eine Reihe von akzentuierten/nicht-akzentuierten Groß-/Kleinbuchstaben als gleich. Zum Beispiel sagt utf8mb4_german2_ci, dass diese gleich sind: O=o=º=Ò=Ó=Ô=Õ=ò=ó=ô=õ
und vor oe=Ö=ö=Œ=œ
sortieren.
Here ist ein Überblick über wo die meisten Buchstaben in den meisten utf8 Sortierungen stehen.
Für die meisten Anwendungen ist _general_ci nicht so gut wie _unicode_ci, was nicht so gut ist wie _unicode_520_ci, das in MySQL 8.0 durch einen Unicode 9.0-Standard ersetzt wird.
Ich denke german2 ist auf "Telefonbuch" Sortierung ausgerichtet. Aber vielleicht nicht. In 8.0, utf8mb4_german2_ci
zusammenträgt D=d=Ď=ď < Dž=dz=dž < Ð=ð
. Aber utf8mb4_de_pb_0900_ai_ci
hat D=d=Ð=ð=Ď=ď < Dž=dz=dž
. Mehr Details here.
- 1. MYSQL case sensitive Suche (mit Ruhezustand) für utf8
- 2. DCPcrypt Hashing deutsche Umlaute
- 3. python: lower() deutsche Umlaute
- 4. MySQL Case Insensitive, aber Akzent Sensitive UTF8 Unique Key
- 5. Ist PyPI case sensitive?
- 6. Ist HTML.Partial case sensitive?
- 7. Case Sensitive Sortierung in MySQL
- 8. ComboBox case sensitive Dropdown
- 9. Case Sensitive Sumifs
- 10. Case Sensitive Join TSQL
- 11. JsonConvert DeserializeObject case sensitive
- 12. Nicht Case Sensitive Formatierung
- 13. Case Sensitive SSIS
- 14. CMeine Variablennamen case sensitive?
- 15. indexOf Case Sensitive?
- 16. Case Sensitive Dictionary Keys
- 17. Case sensitive RLIKE
- 18. Ist die ANT-Kopieraufgabe case-sensitive?
- 19. Nicht-Case-sensitive Ersatz für IndexOf()
- 20. Welche der utf8 Kollationen ist die beste?
- 21. Lucene case sensitive & insensitive search
- 22. Case sensitive Coldfusion IF-Anweisungen
- 23. In-case-sensitive PHP-Suche?
- 24. MySQL Case Sensitive Tables Konvertierung
- 25. Delphi Firedac - Case Sensitive Problem
- 26. AngularJS + Base Href Case Sensitive?
- 27. SQL Case Sensitive String Vergleichen
- 28. nodejs express - case sensitive URLs
- 29. Case Sensitive teilweise Übereinstimmung mit Boost-regex
- 30. deutsche Umlaute in Form param Resteasy nicht funktionieren
Keine Sortierung behandelt '' örder' = 'öder' - war das ein Tippfehler? Bitte klären Sie auch, ob Sie "Öder" mit "Oder" vergleichen möchten - das ist Akzent-Stripping, unabhängig von der Falzart. –
Wenn ich mit Ö suche wird das Wort beginnend mit ö nicht abgerufen.Ich bin nicht besorgt ob als Auftrag abgeglichen wird oder nicht.Ich beschäftige mich nur mit Öder und örder. –