设置数据库的代码页

始终在添加任何本地化信息之前设置数据库的代码页。 不建议在将数据输入数据库之后尝试设置代码页,因为这可能会损坏扩展字符。 从包含中性代码页的数据库开始能够为本地化提供极大的便利。 有关详细信息,请参阅创建包含中性代码页的数据库。 可以按照确定安装数据库的代码页中所述确定数据库的当前代码页。 有关数字代码页的列表,请参阅将 Error 和 ActionText 表本地化

可以通过使用 MsiDatabaseImport 导入包含非中性代码页的文本存档文件,来设置空白数据库或包含中性代码页的数据库的代码页。 这会将数据库的代码页设置为所导入文件的代码页。 随后导入数据库的所有存档文件必须与第一个文件具有相同的代码页。 如果从数据库导出了文本存档文件,则存档文件的代码页与父数据库的代码页相同。 请参阅已导入和导出表的代码页处理

可以通过使用 MsiDatabaseImport 导入以下格式的文本存档文件,将任何数据库的代码页设置为指定的数字代码页:两个空白行,后接一个包含数字代码页、制表符分隔符和确切字符串 _ForceCodepage 的行。 请注意,在 Windows 2000 中,这会将数据库中的所有字符串转换为 _ForceCodepage 代码页。 当本地化现有数据库并将所有非中性字符串转换为新代码页时,这可能是预期的行为。 但是,如果数据库包含不会转换的非中性字符串,则此行为会导致错误。

实用工具 WiLangId.vbs 提供了一个示例用于演示如何使用导入方法设置包的代码页。 Windows Installer SDK 中提供了 WiLangId.vbs 的副本。 可以使用此实用工具来确定数据库支持的语言版本 (Package)、安装程序对用户界面中未写入到数据库中的任何字符串使用的语言 (Product),或字符串池的单个 ANSI 代码页 (Codepage)。 有关如何使用 WiLangId.vbs 的信息,请参阅帮助页:管理语言和代码页

若要确定 Product、Package 和 Codepage 的值,请如下所示运行 WiLangId.vbs。

cscript wilangid.vbs[数据库的路径]

若要设置包的代码页,请运行以下命令行。

cscript wilangid.vbs[数据库的路径]代码页[值]

例如,若要将 test.msi 的代码页设置为数字 ANSI 代码页值 1252,请运行以下命令行。

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