Heim >Datenbank >MySQL-Tutorial >## Wie geht MySQL mit Umlauten in Unicode-Sortierungen um?

## Wie geht MySQL mit Umlauten in Unicode-Sortierungen um?

Linda Hamilton
Linda HamiltonOriginal
2024-10-27 09:27:31478Durchsuche

## How Does MySQL Handle Umlauts in Unicode Collations?

MySQL-Unicode-Sortierungen: Umlaut-Äquivalenz verstehen

Die Beobachtung, dass MySQL „åäö“ als gleichbedeutend mit „AAO“ ansieht, hat seinen Ursprung in der Verwendung von nicht sprachspezifische Unicode-Sortierungen. Wie in der MySQL-Dokumentation angegeben, standardisieren Kollatierungen dieses Typs die Handhabung von Unicode-Zeichen, einschließlich Umlauten.

Insbesondere gelten in Kollatierungen wie utf8_general_ci und utf8_unicode_ci die folgenden Gleichheiten:

  • Ä = A
  • Ö = O
  • Ü = U

Diese „Funktion“ stellt sicher, dass bei Vergleichen und Suchen bestimmte Zeichen unabhängig von ihrer Spezifität als gleichwertig behandelt werden Unicode-Codepunkte.

Um dieses Problem zu mildern, haben Sie zwei Hauptoptionen:

  • Verwenden Sie eine Sortierung ohne Umlautäquivalenz: Entscheiden Sie sich für eine Sortierung wie utf8_bin, das unterschiedliche Darstellungen für diese Charaktere beibehält. Beachten Sie jedoch, dass dies zu anderen Einschränkungen führen kann.
  • Sortierung für Abfrage überschreiben: Verwenden Sie speziell für die Abfrage eine andere Sortierung. Durch Anhängen von COLLATE an die Abfrage können Sie die gewünschte Sortierung für den Vergleich festlegen. Zum Beispiel:
select * from topics where name='Harligt' COLLATE utf8_bin;

Es ist wichtig zu beachten, dass es komplexer ist, eine Suche ohne Berücksichtigung der Groß-/Kleinschreibung bei gleichzeitiger Beibehaltung der Umlautunterscheidung zu erreichen. Wenn eine geeignete MySQL-Sortierung existiert, die diese Kriterien erfüllt, wäre ihre Existenz von Interesse.

Das obige ist der detaillierte Inhalt von## Wie geht MySQL mit Umlauten in Unicode-Sortierungen um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn