Ä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.