Ich versuche, eine Reihe von Strings in mazedonischem Alphabet zu sortieren. Ich weiß, wie es geht, aber das Endergebnis ist nicht das, was ich erwartet habe. Hier ist mein Testprogramm:
%Vor% Die Buchstaben in ALPHABET_ARRAY
sind in der korrekten alphabetischen Reihenfolge, aber das Programm druckt
абвгѓдежзѕијкќлљмнњопрстуфхцчџш
Aber es hätte sein sollen:
абвгдѓежзѕијклљмнњопрстќуфхцчџш
Gibt es ein Problem mit dem mazedonischen Kollator in Java oder mache ich etwas falsch?
Collator für das Gebietsschema "mk_MK" basiert auf der Ressource sun.text.resources.mk.CollationData_mk
(CollationData_mk.java Quelle in jdk8u Repo markiert jdk8u92-b14 ).
Die Kollatorregeln in CollationData_mk
platzieren eindeutig 'ѓ' direkt nach 'г' und 'ќ' direkt nach 'к'.
Da es möglich ist, RuleBasedCollator
mit benutzerdefinierten Regeln zu erstellen, besteht der einfachste Weg, um die gewünschte Sortierreihenfolge zu erhalten, darin, die Regeln von CollationData_mk
ein wenig zu ändern:
Die Regeln können weiter vereinfacht werden, um nur die Basis 31 Buchstaben ohne akzentuierte Varianten zu enthalten.