Die Zeichensatzkonvertierung von SQL Anywhere-Server bewirkt, dass SQL-Anweisungen vor der syntaktischen Analyse und der Ausführung in den Zeichensatz der Datenbank konvertiert werden. Eine Nebenwirkung dieser Konvertierung ist, dass Zeichen in der SQL-Anweisung, die nicht in den Zeichensatz der Datenbank konvertiert werden können, in ein Ersatzzeichen konvertiert werden. Eine SQL-Anweisung mit einem beliebigen Unicode-Zeichen kann auf eine der folgenden Arten ausgeführt werden:
Verwenden Sie die Funktion UNISTR, um die Unicode-Zeichenwerte anzugeben.
Verwenden Sie eine Hostvariable, um die Unicode-Zeichenwerte anzugeben.
Verwenden Sie UTF-8 als Zeichensatz der Datenbank.
Wenn Sie UTF8BIN als CHAR-Kollatierung auswählen, ist der Zeichensatz der Datenbank UTF-8. Wenn Sie UTF-8-Kodierung angeben, ist die CHAR-Kollatierung UCA.
Der Unicode-Kollatierungsalgorithmus (UCA, Unicode Collation Algorithm) stellt erweiterte Vergleiche, Sortierungen und Groß-/Kleinschreibungs-Konvertierungen bereit, aber er kann sich auf die Performance auswirken. Auch wenn UTF8BIN Platz sparend und schnell ist, so sind Sortierreihenfolge und Vergleiche binär. Geben Sie die CHAR-Kollatierung als UTF8BIN an, wenn Sie Unicode-Zeichen in Ihren SQL-Anweisungen benötigen, aber nicht die volle Funktionalität von UCA für Sortierungen und Vergleiche brauchen. Verwenden Sie UCA nur wenn nötig, indem Sie die Funktionen SORTKEY und COMPARE benutzen.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |