我有一个Inno Setup安装程序,可以使用Pascal Script创建自定义向导页面.安装程序似乎使用正确的模式来支持其他语言.但是,使用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()创建的页面)正确显示.
所以,我的问题是,当使用带有UTF-8字符串的ExpandConstant()时,是否需要做一些特殊的事情?或者是否有更好的函数用于从[CustomMessages]部分检索UTF-8字符串?