"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

MySQL: suche nach y% liedert auch ü

Rektal 09.11.2005 - 16:33 2445 3
Posts

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4452
Wenn ich
Code:
SELECT name FROM table WHERE name LIKE 'Y%'
abschicke, bekomme ich auch Eintraege mit Ü am Anfang zurück. Das ist weniger gewünscht.

"character set" ist latin1, gibts da noch andere Einstellungen, die das beeinflussen? Version ist 4.0.16
Bearbeitet von Rektal am 10.11.2005, 13:08

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25423
versuch mal LIKE BINARY 'Y%'

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4452
Danke. Jetzt muss man nur aufpassen, dass es jetzt case-sensitive ist, LOWER hilft hier.

Ist das im latin1 collate verankert (kann ich mir fast net vorstellen, y = ü? aber was weiss man ...) ?

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4452
So, richtige Loesung gefunden. Trotzdem danke fuer den QuickFix.

Bei 4.0 sortiert latin1 nach den schwedischen (?) Richtlinien, welches "fuer englisches und die meisten Europaeischen" Zeichensaetze stimmt.

Für den deutschen Sprachraum gibts ein eigenes, latin1_de. Hier der unterschied anhand eines Beispiels.

latin1:
a o u ü y ä ö

latin1_de:
a ä o ö u ü y

Diese Einstellung musste ich in der my.cnf in der Group mysqld machen und den Server neustarten. Was ich so im Manual gelesen habe gibts ab 4.1 weiter Moeglichkeiten.

Details (gilt fuer 4.0 auch)
http://dev.mysql.com/doc/refman/4.1...racter-set.html
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz