Ändern Sie die Sortierung einer MySQL-Tabelle in utf8_general_cs


8

Ich habe versucht, die Sortierung der MySQL-Tabelle in utf8_general_cs zu ändern, habe jedoch den folgenden Fehler erhalten:

mysql> ALTER TABLE table_name CONVERT TO CHARACTER SET utf8 COLLATE 'utf8_general_cs';
ERROR 1273 (HY000): Unknown collation: 'utf8_general_cs'

Ich führe den Befehl "SHOW COLLATE" aus und "utf8_general_cs" ist nicht in den Ergebnissen enthalten.

Was kann ich jetzt machen?

Antworten:


13

MySQL hat keine Unicode-Kollatierungen, bei denen zwischen Groß- und Kleinschreibung unterschieden wird, da dies ein schwieriges Problem ist. Einige Sprachen sortieren Kleinbuchstaben vor Großbuchstaben, andere Großbuchstaben vor Kleinbuchstaben. SQL Server versucht, Unicode zwischen Groß- und Kleinschreibung zu unterscheiden, wobei das Gebietsschema berücksichtigt wird.

Sie haben mehrere Möglichkeiten:


Es ist interessant, wie schwierig es ist, zwischen Groß- und Kleinschreibung zu unterscheiden. Wenn Sie mich um eine Vermutung bitten würden, würde ich versuchen, die Groß- und Kleinschreibung nicht zu berücksichtigen, ist ein schwieriger zu lösendes Problem. Können Sie das etwas näher erläutern?
— Robo Robok

Der nächste Satz beschreibt das Problem. IBM hat eine Reihe von Seiten zum Thema "sprachbewusste Sortierung". Groß- und Kleinschreibung wird nicht berücksichtigt, da es keine Rolle spielt, wie die Sprache verschiedene Fälle sortiert.
— David M

Ich verstehe immer noch nicht. Sprachen sortieren Zeichen nach Akzenten, nicht nach Groß- und Kleinschreibung.
— Robo Robok

Entschuldigung, ich bin heute beschäftigt. Vielleicht hilft dies: lmgtfy.com/?q=why+is+unicode+case+sensitive+hard
— David M

Es gibt nichts zurück, weil Ihre Aussage einfach nicht wahr ist.
— Robo Robok
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.