Heim >Datenbank >MySQL-Tutorial >Warum wird \'Ä\' in MySQL-Suchen zu \'AAO\'?

Warum wird \'Ä\' in MySQL-Suchen zu \'AAO\'?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-25 11:20:30734Durchsuche

Why Does 'Ä' Become 'AAO' in MySQL Searches?

Unicode-Zeichensatz in MySQL: Die „Ä“-Anomalie verstehen

MySQLs Behandlung der Zeichen „ä“, „ö“ und „ü“ als „AAO“ kann bei der Suche verwirrend sein. Um dieses Verhalten zu verstehen, müssen wir in die Welt der Unicode-Zeichensätze und ihrer Kollatierungen eintauchen.

In nicht sprachspezifischen Unicode-Kollatierungen wie utf8_general_ci und utf8_unicode_ci werden bestimmte Unicode-Zeichen als gleichwertig behandelt. Insbesondere werden die Zeichen „Ä“, „Ö“ und „Ü“ auf ihre Basisäquivalente von „A“, „O“ und „U“ normalisiert. Diese Normalisierung wird durchgeführt, um sicherzustellen, dass Zeichen mit ähnlicher phonetischer Aussprache bei Vergleichen und Suchen identisch behandelt werden.

Um diese Normalisierung zu deaktivieren und eine Suche unter Berücksichtigung der Groß- und Kleinschreibung nach der genauen Zeichenfolge „Härligt“ durchzuführen, können Sie utf8_bin verwenden Sortierung:

select * from topics where name='Harligt' COLLATE utf8_bin;

Alternativ können Sie eine andere Sortierung nur für die Abfrage verwenden, z. B. latin1_bin:

select * from topics where name ='Härligt' COLLATE latin1_bin;

Wenn Sie jedoch eine Suche ohne Berücksichtigung der Groß- und Kleinschreibung ohne Ä = benötigen Bei einer Konvertierung müssen Sie einen anderen Ansatz verwenden, da es keine MySQL-Sortierung gibt, die einen Vergleich ohne Berücksichtigung der Groß- und Kleinschreibung ohne implizite Umlautkonvertierung ermöglicht.

Das obige ist der detaillierte Inhalt vonWarum wird \'Ä\' in MySQL-Suchen zu \'AAO\'?. 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