dedlfix: MYSQL Like Umlaute

Beitrag lesen

Hi!

bin gerade am verzweifeln.

Das löst das Problem auch nicht.

Ich hab jetzt sowohl set_charset("utf8") über mysqli als auch manuell mit SET NAMES 'utf8' gesetzt.

Eins reicht. Beides zusammen bringt auch keine Verbesserung.

Trotzdem gibt mir zb select ..... LIKE '%äasdf' das gleiche zurück wie %aasdf sprich er behandelt:
ö=o, ü=u, ä=a

Ja, das liegt an der eingestellten Kollation.

Hab nichts passendes gefunden gibt aber mehrere mit dem Problem.

Das MySQL-Handbuch hat ein Kapitel Globalization, da steht alles Wissenswertes zu MySQLs Umgang mit Zeichen drin. Dein konkretes Problem ist ein "works as designed".

einige sind auf iso umgestiegen, ich hab jedoch überall utf8 bzw utf8_unicode_ci und möchte nicht alles ändern..

Auf Latin1 umzusteigen löst das Problem nicht. Stattdessen gehen dir zusätzlich die Möglichkeiten von UTF-8 verloren.

jemand eine idee wie ich das matchen könnt und die umlaute in der db stehen lassen kann?

Wenn es sich um ein Passwortfeld oder etwas ähnliches handelt, in dem generell keine sprachlichen Besonderheiten und Groß-/Kleinschreibung berücksichtigt werden sollen, dann nimm utf8_bin als Kollationsangabe. Wenn du nur temporär dieselben Auswirkungen haben möchtest, nimm das Schlüsselwort BINARY.

Lo!