Codierung und Normalisierung
ASCII-Zeichen belegen 4 Byte bei UTF-32, 2 Byte bei UTF-16 und 1 Byte bei UTF-8. Die verschiedenen Nicht-ASCII-Zeichen aus dem lateinischen ISO-Zeichensatz belegen in diesen Codierungen 4, 2 und 2 Byte. Die gängigen (chinesischen) Han-Zeichen belegen jedoch 3 Byte bei UTF-8 und 2 Byte (bzw. korrekter 16 Bit) bei UTF-16. Einige seltene Han-Zeichen belegen bei UTF-16 und bei UTF-8 jeweils 4 Byte.
Bei Unicode können einige Zeichen auf mehrere Arten codiert werden. Der Buchstabe À z. B. kann ein einzelnes Unicode-Zeichen ‘Lateinischer Großbuchstabe A mit Gravis’ oder zwei Zeichen ‘Lateinischer Großbuchstabe A in Kombination mit Gravis’ sein. Unicode definiert diese als kanonisch äquivalente Sequenzen. Da diese beiden Sequenzen als identisch behandelt werden müssen, werden diese äquivalenten Sequenzen in der Datenbank nicht zugelassen.
In früheren Versionen konnte der Netezza Performance Server keine Daten laden, die kombinierte Zeichen verwendeten; daher kann der Netezza Performance Server Sprachen wie Arabisch, Thai, Urdu und Hindi nicht unterstützen. Der nzconvert-Befehl hat eine Option -nfc, mit der Sie Eingaben in UTF-8, UTF-16 oder UTF-32 über die ICU-Routinen (International Components for Unicode) in das NFC-Format (Normalisierungsform C) konvertieren können. Netezza Performance Server lädt Daten, die im NFC-Format vorliegen.
Zur Vermeidung von Mehrdeutigkeit definiert Unicode zwei Normalisierungsformen: Normalisierungsform C (NFC) und Normalisierungsform D (NFD). (Eine Beschreibung dieser Spezifikation finden Sie im Unicode Standard Annex #15 unter http://www.unicode.org/reports/tr15/.) Bei NFD wird im Wesentlichen immer zerlegt, während bei NFC wenn möglich kombiniert wird. Ab Release 4.0.3 lädt Performance Server Daten im NFC-Format.
Netezza Performance Server unterstützt eine leichte Obermenge von NFC, die NFC' genannt wird. Das Superset ermöglicht es dem Netezza Performance Server, auch Singleton-Zerlegungszeichen zu unterstützen, da die Standardkonvertierungen von einigen älteren Zeichenkodierungen manchmal zu Singletons führen. Eine Beschreibung von Singletons finden Sie im Unicode Standard Annex #15.