Standardzeichensatz

<< Zeichensatz | IBExpert Glossar | Zeile >>

Standardzeichensatz (Default Character Set)

Der Standardzeichensatz ist der Zeichensatz, der bei Erstellung der Datenbank definiert wurde. Er ist für alle Bereiche der Datenbank gültig, sofern er nicht von der Domänen- oder Feld-definition überschrieben wird. Er kontrolliert nicht nur die verfügbaren Zeichen, die gespeichert oder angezeigt werden können, sondern auch die Sortierreihenfolge, und hat Auswirkungen auf Groß-/Kleinschreibung (UPPER(), LOWER()). Wenn ein bestimmter Zeichensatz festgelegt ist, kann eine bestimmte Sortierreihenfolge festgelegt werden, wenn Daten in einer Spalte ausgewählt, eingegeben oder aktualisiert werden.

Firebird/InterBase® unterstützt eine Vielzahl an Zeichensätzen für eine weltweite Verwendung. Wenn kein bestimmter Zeichensatz für die einzelnen Spalten eingegeben wurde, wird der Datenbank Standardzeichensatz angenommen. Der Standardzeichensatz wird im IBExpert Erzeuge Datenbank Dialogfeld bestimmt:

Wenn der Zeichensatz beim Erzeugen der Datenbank als Standardzeichensatz definiert wurde (und seit Firebird 2.5 auch die Zeichensatzsortierung), ist eine nochmalige Definition für einzelne Spalten nicht notwendig.

Firebird/InterBase® unterstützt mehr als 20 verschiedene Zeichensätze direkt. Der gewählte Zeichensatz ist ebenfalls von Bedeutung, wenn Datensätze mit unterschiedlichen Zeichensätzen importiert oder exportiert werden. Dies muss bedacht werden, wenn Anwendungen mit verschiedenen Sprachversionen entwickelt werden.

Der ASCII Zeichensatz ist nicht gleichzusetzen mit einem nicht-definierten Zeichensatz. Wenn kein Zeichensatz definiert wurde, wählt Firebird/InterBase® den Zeichensatz NONE, d.h. die Werte werden genauso gespeichert, wie sie eingegeben wurden. Sie können jeden Zeichensatz in eine als NONE definierte Spalte laden, aber Sie können nicht dieselben Daten in eine andere Spalte laden, die mit einem anderen Zeichensatz definiert wurde. In diesem Fall erfolgt keine Umschreibung des Zielzeichensatzes zum Quellzeichensatz und es können während der Zuordnung Fehler auftreten. Wenn der ASCII Zeichensatz definiert ist, werden alle eingegbenen Zeichen in die entsprechenden ASCII Zeichen übersetzt.

Zeichensätze können mehrere Collations (Sortierfolgen) haben (zum Beispiel, ISO8859_1 bietet englisch, deutsch, französisch, spanisch, italienisch und so weiter und so fort). Seit Firebird 2.5 ist es möglich eine Default Collation (Standardsortierung) zu definieren, welche nach Bedarf auch geändert werden kann. Bei älteren Datenbank-Versionen muss die Collation bei der Felddefinition spezifiziert werden oder direkt in Ihren Abfragen, wo eine Sortierung benötigt wird.

Im Allgemeinen kann dieser Standardzeichensatz nicht zu einem späteren Zeitpunkt geändert werden (nur mit dem Kommandozeilentool IBEScript). Zeichensatzänderungen können jedoch für einzelne Domänen oder Tabellen definiert werden, wodurch der Standardzeichensatz überschrieben wird.

Seit der Version 2009.06.15 bietet IBExpert vollständigen Unicode Support. Die interne Darstellung aller Texte in Codeeditoren ist Windows Unicode (UTF-16LE, zwei Bytes pro Zeichen). Dies ermöglicht die Verwendung mehrsprachiger Zeichen in Prozeduren, Abfragen, Datenbankobjektbeschreibungen etc., wenn Sie beim Verbinden mit Ihrer Datenbank den UTF8 Zeichensatz verwenden.

Wenn Sie mit einer Datenbank arbeiten, die den UTF8 Zeichensatz verwendet, konvertiert IBExpert automatisch von UTF8 nach Windows Unicode (beispielsweise, wenn Sie eine Stored Procedure zur Bearbeitung öffnen) und umgekehrt (wenn Sie eine Stored Procedure kompilieren). Dies gilt für Firebird 2.1 und 2.5 Datenbanken. Für andere Datenbanken müssen Sie diese Option manuell durch Markierung der Checkbox Do NOT perform conversion from/to UTF8 in der Datenbankregistrierungsinfo aktivieren (wenn Sie es wirklich benötigen!).

Wenn Sie mit dem ANSI Zeichensatz arbeiten gibt es keine Änderungen zu vorherigen IBExpert Versionen, außer dass es jetzt die Möglichkeit gibt, Zeichen einzugeben, die nicht in Ihrem lokalen Standardsystem dargestellt sind. Solche Zeichen werden durch die Konvertierung von einer Unicode zu einer ANSI-Darstellung ersetzt.

In der Regel weiß IBExpert, wann Strings von Windows Unicode zu UTF8 konvertiert werden müssen, aber manchmal ist es notwendig, den Konvertierungstyp manuell festzulegen (weitere Infos hierzu finden Sie im IBExpert Menü Nützliches, Skriptausführung.

Der richtige Default Zeichensatz für Ihre Applikation und Anforderungen ist grundlegend. Deshalb sollten Sie auch folgende Artikel zuerst durchlesen, bevor Sie sich endgültig für einen Standardzeichensatz für Ihre neue Datenbank entscheiden:

und, abhängig von Ihrer Datenbankversion:

Siehe auch:
SET NAMES

zurück zum Seitenanfang
<< Zeichensatz | IBExpert Glossar | Zeile >>