Festlegen der Codepage einer Datenbank

Legen Sie immer die Codepage einer Datenbank fest, bevor Sie Lokalisierungsinformationen hinzufügen. Es ist nicht empfehlenswert, die Codepage nach der Eingabe von Daten in die Datenbank festzulegen, da auf diese Weise Sonderzeichen beschädigt werden könnten. Die Lokalisierung kann erheblich vereinfacht werden, wenn Sie zunächst eine Datenbank mit neutraler Codepage verwenden. Ausführliche Informationen finden Sie unter Erstellen einer Datenbank mit einer neutralen Codepage. Sie können die aktuelle Codepage einer Datenbank bestimmen, indem Sie die Anweisungen in Ermitteln der Codepage einer Installationsdatenbank befolgen. Eine Liste der numerischen Codepages finden Sie unter Lokalisieren der Error- und ActionText-Tabellen.

Sie können die Codepage für eine leere Datenbank oder eine Datenbank mit einer neutralen Codepage festlegen, indem Sie mithilfe von MsiDatabaseImport eine Textarchivdatei mit einer nicht neutralen Codepage importieren. Dadurch wird die Codepage der Datenbank auf die Codepage der importierten Datei festgelegt. Alle später in die Datenbank importierten Archivdateien müssen dann dieselbe Codepage verwenden wie die erste Datei. Wenn eine Textarchivdatei aus einer Datenbank exportiert wird, ist die Codepage der Archivdatei mit der der übergeordneten Datenbank identisch. Siehe Codepagebehandlung von importierten und exportierten Tabellen.

Die Codepage einer beliebigen Datenbank kann auf eine bestimmte numerische Codepage festgelegt werden, indem mit MsiDatabaseImport eine Textarchivdatei importiert wird. Diese weist das folgende Format auf: Zwei Leerzeilen, gefolgt von einer Zeile mit der numerischen Codepage, ein Tabulatorzeichen als Trennzeichen und die genaue Zeichenfolge: _ForceCodepage. Beachten Sie, dass unter Windows 2000 alle Zeichenfolgen in der Datenbank in die Codepage von „_ForceCodepage“ übersetzt werden. Dies kann bei der Lokalisierung einer vorhandenen Datenbank und der Übersetzung aller nicht neutralen Zeichenfolgen in die neue Codepage so vorgesehen sein. Es kommt jedoch zu Fehlern, wenn die Datenbank nicht neutrale Zeichenfolgen enthält, die nicht übersetzt werden sollen.

Das Hilfsprogramm „WiLangId.vbs“ liefert ein Beispiel dafür, wie die Codepage eines Pakets mit der Import-Methode festgelegt werden kann. Eine Kopie von „WiLangId.vbs“ wird im Windows Installer SDK bereitgestellt. Sie können mit diesem Hilfsprogramm die von der Datenbank unterstützten Sprachversionen (Paket), die vom Installer verwendete Sprache für alle Zeichenfolgen in der Benutzeroberfläche, die nicht in die Datenbank geschrieben werden (Produkt), oder die einzelne ANSI-Codepage für den Zeichenfolgenpool (Codepage) ermitteln. Informationen zur Verwendung von „WiLangId.vbs“ finden Sie auf der Hilfeseite: Verwalten von Sprache und Codepage.

Um die Werte für Produkt, Paket und Codepage zu ermitteln, führen Sie „WiLangId.vbs“ wie folgt aus.

cscript wilangid.vbs[Pfad zur Datenbank]

Führen Sie die folgende Befehlszeile aus, um die Codepage des Pakets festzulegen.

cscript wilangid.vbs[Pfad zur Datenbank]Codepage[Wert]

Um zum Beispiel die Codepage von „test.msi“ auf den numerischen ANSI-Codepagewert 1252 festzulegen, führen Sie die folgende Befehlszeile aus.

cscript wilangid.vbs c:\temp\test.msi Codepage 1252