Heim >Datenbank >MySQL-Tutorial >Wie kann die MySQL-Sortierung Akzentprobleme bei der automatischen Vervollständigung von Ortsnamen lösen?
Akzente in MySQL-Datenbanken eliminieren
Um die automatische Vervollständigung von Ortsnamen mit Akzenten zu verbessern, ist es für den Erfolg unbedingt erforderlich, diese Akzente zu entfernen Datensatzabruf auch dann, wenn Benutzer Namen ohne Akzente eingeben.
MySQL bietet eine Lösung für dieses Problem durch Sortierung. Durch Festlegen einer geeigneten Sortierung für die Spalte mit den Ortsnamen kann die Datenbank den akzentuierten Wert innerhalb des Felds natürlich mit seinem nicht akzentuierten Äquivalent vergleichen.
Bedenken Sie beispielsweise die folgenden MySQL-Anweisungen:
mysql> SET NAMES 'utf8' COLLATE 'utf8_unicode_ci'; Query OK, 0 rows affected (0.00 sec) mysql> SELECT 'é' = 'e'; +------------+ | 'é' = 'e' | +------------+ | 1 | +------------+ 1 row in set (0.05 sec)
In diesem Beispiel wird die Sortierung utf8_unicode_ci festgelegt, bei der die Groß-/Kleinschreibung nicht beachtet wird und Akzente ignoriert werden. Infolgedessen wird das akzentuierte Zeichen é als gleichbedeutend mit dem nicht akzentuierten Zeichen e betrachtet.
Durch die Anwendung dieser Lösung können Datensätze genau abgerufen werden, unabhängig davon, ob der Benutzer den Ortsnamen mit Akzenten eingibt oder nicht. Dadurch entfällt die Notwendigkeit einer separaten Spalte mit nicht akzentuierten Namen und der Datenabrufprozess wird optimiert.
Das obige ist der detaillierte Inhalt vonWie kann die MySQL-Sortierung Akzentprobleme bei der automatischen Vervollständigung von Ortsnamen lösen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!