Freigeben über


Codepagebehandlung von importierten und exportierten Tabellen

Sie können Lokalisierungsinformationen zu einer Installationsdatenbank hinzufügen, indem Sie ASCII-Textarchivdateien mithilfe von MsiDatabaseExport und MsiDatabaseImport importieren und exportieren. Da der Datenbankzeichenfolgen-Pool eine ANSI-Codepage verwendet, verfügen sowohl die Datenbank als auch die exportierten Textarchivdateien über Codepages.

Wenn eine Textarchivdatei aus einer Datenbank exportiert wird, ist die Codepage der Archivdatei mit der übergeordneten Datenbank identisch. Eine Liste mit numerischen Codepages finden Sie unter Localizing the Error and ActionText Tables (Lokalisieren der Fehler- und ActionText-Tabellen).

Hinweis

Beim Exportieren einer Tabelle in eine Textarchivdatei werden die Steuerzeichen übersetzt, um Konflikte mit Dateitrennzeichen zu vermeiden.

 

ASCII-Textarchivdateien

Die von MsiDatabaseExport exportierten ASCII-Textarchivdateien werden im folgenden Format erläutert:

  • Die Namen der Tabellenspalten werden in die erste Zeile geschrieben.
  • Die Spaltenformate werden in die zweite Zeile geschrieben.
  • Wenn die Tabelle nur ASCII-Daten enthält, ist die dritte Zeile der Textdatei der Tabellenname gefolgt von einer Liste der Primärschlüssel.
  • Wenn die Tabelle Nicht-ASCII-Daten enthält und die Datenbank mit einer numerischen Codepage gekennzeichnet ist, wird die Codepagenummer am Anfang der dritten Zeile angezeigt.
  • Wenn die Datenbank Nicht-ASCII-Daten enthält und die Datenbank nicht mit einer numerischen Codepage gekennzeichnet ist, wird die aktuelle Codepagenummer des Systems am Anfang der dritten Zeile geschrieben.
  • Die restlichen Zeilen der Textdatei sind die Daten auf der angegebenen Codepage.
  • Wenn eine Tabelle Streams enthält, exportiert MsiDatabaseExport jeden Stream in der Tabelle in eine separate Datei.

Neutrale und nicht neutrale Codepages

Sie können die Lokalisierung erleichtern, indem Sie mit einer Datenbank beginnen, die über eine neutrale Codepage verfügt:

  • Eine leere Datenbank verfügt über eine neutrale Codepage.
  • Eine Datenbank, die keine erweiterten Zeichen enthält, für die eine Codepage in ASCII dargestellt werden muss, verfügt über eine neutrale Codepage.

Weitere Informationen finden Sie unter Creating a Database with a Neutral Code Page (Erstellen einer Datenbank mit einer neutralen Codepage).

Neutrale und nicht neutrale Codepages weisen die folgenden Merkmale auf:

  • Wenn eine Textarchivdatei mit einer nicht neutralen Codepage in eine Datenbank importiert wird, die eine andere nicht neutrale Codepage enthält, gibt das Installationsprogramm beim Aufrufen von MsiDatabaseImport einen Fehler zurück.
  • Eine Textarchivdatei mit einer neutralen Codepage kann in eine Datenbank importiert werden, die über eine beliebige Codepage verfügt.
  • Eine Textarchivdatei mit einer beliebigen Codepage kann in eine Datenbank importiert werden, die über eine neutrale Codepage verfügt.
  • Beim Importieren einer Textarchivdatei in eine Datenbank mit einer neutralen Codepage wird die Codepage der Datenbank auf die Codepage der Archivdatei festgelegt. Alle anschließend in die Datenbank importierten Archivdateien müssen dieselbe Codepage wie die erste Datei aufweisen.

Weitere Informationen finden Sie unter Determining an Installation Database Code Page (Ermitteln der Codepage einer Installationsdatenbank) und Festlegen der Codepage einer Datenbank.

Die von MsiDatabaseExport exportierten Textarchivdateien können mit Versionskontrollsystemen verwendet werden. Verwenden Sie die Datenbankfunktionen oder einen Datenbanktabellen-Editor, um die Datenbank zu bearbeiten.

Sie können Lokalisierungsinformationen zu einer Installationsdatenbank hinzufügen, indem Sie einen Datenbanktabellen-Editor oder die Windows Installer-API verwenden. Weitere Informationen finden Sie unter Code Page Handling of Parameter Strings (Codepagebehandlung von Parameterzeichenfolgen).