Warum kann ich nicht mit einer bestimmten Sortierung in MySQL?

Ich habe eine Tabelle mit dem Zeichensatz latin1 (geprüft durch show variables like "character_set_database";) und eine Standard-Sortierung der latin1_swedish_ci (geprüft durch SHOW TABLE STATUS;).

Möchte ich eine Abfrage ausführen, wobei die Sortierung latin1_general_cs, die kompiliert auf meinem system (überprüft durch Show collation LIKE "%_cs";):

select * from myTab WHERE col RLIKE '[[:upper:]]' COLLATE 'latin1_general_cs' LIMIT 10;

gibt einen Fehler:

ERROR 1253 (42000): COLLATION 'latin1_general_cs' is not valid for CHARACTER SET 'utf8'

Einmal die Standard-Sortierung nicht funktioniert:

select * from myTab WHERE col RLIKE '[[:upper:]]' COLLATE 'latin1_swedish_ci' LIMIT 10;

Fehler:

ERROR 1253 (42000): COLLATION 'latin1_swedish_ci' is not valid for CHARACTER SET 'utf8'

Was falsch? ist es, weil mein terminal sendet Daten im UTF-8? (Ist die "Verbindung UTF-8"?) Wie kann ich eh use-case-sensitive Sortierung? Ich brauche es, sonst ist es unmöglich erscheint zu überprüfen, für Großbuchstaben.

InformationsquelleAutor R_User | 2013-05-15
Schreibe einen Kommentar