Codepagearchitektur

Sortierungen steuern die physikalische Speicherung von Zeichenfolgen in SQL Server. Eine Sortierung gibt die Bitmuster an, die die einzelnen Zeichen darstellen, sowie die Regeln, nach denen Zeichen sortiert und verglichen werden.

In einem Computer werden Zeichen durch unterschiedliche Bitmuster dargestellt, wobei die einzelnen Bits entweder den Wert ON oder den Wert OFF aufweisen. Jedes Byte enthält 8 Bit, die zusammen 256 unterschiedliche Muster aus ON- und OFF-Bits annehmen können. Ein Programm, das für die Speicherung jedes Zeichens 1 Byte verwendet, kann somit bis zu 256 unterschiedliche Zeichen darstellen, indem es jedem Bitmuster ein Zeichen zuweist. 2 Byte enthalten 16 Bit, die zusammen 65.536 eindeutige Muster aus ON- und OFF-Bits annehmen können. Ein Programm, das zur Darstellung jedes Zeichens 2 Byte verwendet, kann somit bis zu 65.536 Zeichen darstellen.

Single-Byte-Codepages sind Definitionen der Zeichen, die jedem der pro Byte möglichen 256 Bitmuster zugeordnet sind. Codepages definieren Bitmuster für Groß- und Kleinbuchstaben, Ziffern, Symbole und Sonderzeichen wie Ausrufezeichen (!), at-Zeichen (@), Nummernzeichen (#) oder Prozent (%). Jede europäische Sprache, wie z. B. Deutsch oder Spanisch, verfügt über eine eigene Single-Byte-Codepage. Obwohl die zur Darstellung der Buchstaben A bis Z des lateinischen Alphabets verwendeten Bitmuster für alle Codepages identisch sind, variieren die Bitmuster, die zur Darstellung von Zeichen mit Akzenten verwendet werden, von Codepage zu Codepage.

Für viele Sprachen sind außerdem Single-Byte-Zeichensätze zum Speichern aller verwendeten Zeichen unzureichend. So weisen z. B. einige asiatische Sprachen mehrere tausend Zeichen auf und müssen daher zwei Byte pro Zeichen verwenden. Für diese Sprachen wurden Double-Byte-Zeichensätze definiert, und es wurden auch Codepages für diese Zeichensätze definiert.

Die folgende Tabelle zeigt die von SQL Server unterstützten Codepages.

Code-page

Beschreibung

1258

Vietnamesisch

1257

Baltisch

1256

Arabisch

1255

Hebräisch

1254

Türkisch

1253

Griechisch

1252

Latein-1 (ANSI)

1251

Kyrillisch

1250

Mitteleuropäisch

950

Chinesisch (traditionell)

949

Koreanisch

936

Chinesisch (vereinfacht)

932

Japanisch

874

Thai

850

Mehrsprachig (Latein-1 von MS-DOS)

437

US-Englisch von MS-DOS

Für Nicht-Unicode-Daten können mehrere Sortierungen dieselbe Codepage verwenden. Die Codepage 1251 definiert z. B. einen Satz mit kyrillischen Zeichen. Diese Codepage wird von zahlreichen Sortierungen verwendet, z. B. von den Sortierungen Cyrillic_General, Ukrainisch und Macedonian_FYROM_90. Obwohl diese Sortierungen alle denselben Satz an Bits für die Darstellung von Nicht-Unicode-Zeichendaten verwenden, gibt es zwischen den angewendeten Sortier- und Vergleichsregeln geringfügige Unterschiede. Damit lassen sich die Wörterbuchdefinitionen der richtigen Sequenz von Zeichen der Sprache oder des Alphabets verwalten, das der Sortierung zugeordnet ist.

Siehe auch

Konzepte