我有一个使用 Pascal 脚本创建自定义向导页面的 Inno Setup 安装程序。安装程序似乎使用正确的模式来支持其他语言。但是,使用 创建的自定义向导页面在其中CreateCustomPage()
显示垃圾字符,而不是目标语言(在本例中为俄语)中的字符串。
字符串存储在一个[CustomMessages]
部分中,使用每种语言的包含文件。虽然我是 Inno Setup 的新手,但字符串的设置方式似乎与 Inno Setup 示例一致,并且我从互联网上的各种来源阅读了说明。
无论如何,自定义向导页面及其上的控件是使用以下代码创建的:
Page := CreateCustomPage(
PreviousPageId,
ExpandConstant('{cm:MyStringConstant}'),
ExpandConstant('{cm:MyOtherStringConstant}')
);
然后,在字符串包含文件中(同样,对于俄语),字符串定义为:
[CustomMessages]
ru.MyStringConstant=<Russian string>
ru.MyOtherStringConstant=<Russian string>
但是当安装程序运行时,自定义向导页面上的字符串会出现乱码(好像 UTF-8 字符被解释为 Ansi),而不是正确的俄语文本。
安装程序中的其他页面(即那些不是用 创建的页面CreateCustomPage()
)正确显示。
ExpandConstant()
所以,我的问题是,在使用UTF-8 字符串时是否需要做一些特别的事情?或者是否有更好的函数用于从该[CustomMessages]
部分检索 UTF-8 字符串?