Der Unicode-Kollatierungsalgorithmus (UCA) ist ein Algorithmus zum Sortieren des gesamten Unicode-Zeichensatzes. Er bietet linguistisch korrekte Vergleiche, Sortierungen und Groß-/Kleinschreibungskonvertierungen. Der UCA wurde als Teil des Unicode-Standards entwickelt. SQL Anywhere implementiert den UCA unter Verwendung der Open Source-Bibliothek ICU (International Components for Unicode), die von IBM entwickelt und gepflegt wird.
Die Standard-UCA-Sortierung ordnet die meisten Zeichen in den meisten Sprachen in einer passenden Reihenfolge an. Aufgrund der Sortier- und Vergleichsvariationen zwischen Sprachen, die gemeinsame Zeichen enthalten, ist der UCA nicht in der Lage, eine korrekte Sortierung bei allen Sprachen zu bieten. Aus diesem Grund bietet ICU eine Syntax zum Anpassen des UCA. Siehe Optionen für Kollatierungsanpassungen.
Der UCA bietet erweiterte Möglichkeiten für Vergleiche, Sortierungen und Groß-/Kleinschreibungskonvertierungen bei geringem Platz- und Zeitaufwand.
Die zugeordnete Form einer Zeichenfolge ist länger als die ursprüngliche Zeichenfolge. Der Algorithmus stellt eine differenzierte Behandlung von komplexeren Zeichen zur Verfügung.
Im Gegensatz zum SQL Anywhere-Kollatierungsalgorithmus (SACA) ist der Unicode-Kollatierungsalgorithmus (UCA) nur für die Verwendung mit Einbyte- und UTF-8-Zeichensätzen bestimmt. Er teilt jedes Zeichen in ein oder mehrere Attribute auf. Bei Buchstaben sind diese Attribute Basiszeichen, Akzent und Groß-/Kleinschreibung.
Nicht-Buchstaben haben üblicherweise nur ein Attribut, das Basiszeichen.
UCA vergleicht Zeichenfolgen folgendermaßen:
Die Basiszeichen vergleichen. Wenn eine Zeichenfolge von Basiszeichen sich von der anderen unterscheidet, ist der Vergleich abgeschlossen. Akzente und Groß-/Kleinschreibung werden nicht berücksichtigt.
Wenn die Datenbank Akzente berücksichtigt, die Akzente vergleichen. Wenn sich die Akzente unterscheiden, ist der Vergleich abgeschlossen. Groß-/Kleinschreibung wird nicht berücksichtigt.
Wenn die Datenbank die Groß-/Kleinschreibung berücksichtigt, die Groß-/Kleinschreibung von jedem Zeichen vergleichen.
Die ursprünglichen Zeichenfolgenwerte sind nur dann gleich, wenn die Basiszeichen, Akzente und die Groß-/Kleinschreibung bei beiden Zeichenfolgen gleich sind.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |