2016-06-30 17 views
1

Ich habe Symbole wie a und á in meiner Datenbank. Sie sind die gleichen, wenn ich die Sortierung utf8_general_ci einstelle, und sie unterscheiden sich, wenn ich unf8bin wähle. Ich möchte sie unterschiedlich halten, aber die Groß-/Kleinschreibung nicht berücksichtigen. Ist es mit einer Standardsortierung möglich?Kann keine passende MySQL-Kollatierung zur Unterscheidung von a und á finden

+0

Es gibt eine Dokumentation Seite auf Ihrer eigenen Sortierungs machen. _Lots_ anderer Leute würden mögen, was Sie verlangen. –

+0

Das war, wovor ich Angst hatte. Danke für die Bestätigung meiner Gedanken. –

+0

Übrigens wissen Sie, wo ich benutzerdefinierte Kollatierungsdatei herunterladen kann, die zur Verwendung bereit ist? –

Antwort

0

Entschuldigung, es gibt keine solche Sortierung in MySQL für utf8 (oder utf8mb4).

SHOW COLLATION LIKE '%cs'; wird die kleine Anzahl von _cs Kollationen in anderen Kodierungen (latin1, etc) auflisten.

können Sie eine Kombination von diesen verwenden, aber sie sind teuer:

WHERE UPPER(x) = UPPER(y) 
WHERE x = y COLLATE utf8_bin 

Im Deutschen kann die ß problematisch sein:

mysql> SELECT 'ß' = 'ss' COLLATE utf8_unicode_ci; 
+-------------------------------------+ 
| 'ß' = 'ss' COLLATE utf8_unicode_ci | 
+-------------------------------------+ 
|         1 | 
+-------------------------------------+ 
+0

Ja, das ist eine Option, aber ich kann das nicht tun. CMS erlaubt es nicht, ohne Kern zu modifizieren. So ist die eigene Kollatierung der einzige Weg. –