首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >NSIS版本信息中的UTF-8编码

NSIS版本信息中的UTF-8编码
EN

Stack Overflow用户
提问于 2022-09-19 14:25:25
回答 1查看 132关注 0票数 0

我有一个简单的UTF-8脚本

代码语言:javascript
运行
复制
Unicode true

VIProductVersion "0.0.0.1"
VIAddVersionKey "ProductName" "Test"
VIAddVersionKey "FileVersion" "0.0.0.1"
VIAddVersionKey "FileDescription" "Test installer"
VIAddVersionKey "LegalCopyright" "Me © 2022"

Section
SectionEnd

问题是关于字符。在用NSIS3.08编译后,版权信息以Me \xC2\xA9 2022的形式在安装程序资源中结束

似乎源是按字节而不是按字符转换为UTF-16字节的。有什么方法可以确保正确的UTF-16编码的字符?我可能总是可以使用(c)代替,但我想知道是否还有其他方法(除了对整个脚本使用UTF-16 )。

EN

Stack Overflow用户

回答已采纳

发布于 2022-09-19 14:59:43

Unicode true指定您想要生成一个Unicode安装程序,但是它不会更改.nsi文件本身的解释(但是,它将更改包含的文件的默认值)。

如果MakeNSIS输出包含一个类似于Processing script file: "C:\Users\Anders\test.nsi" (ACP)的行,那么这意味着编译器在解析.nsi时使用.nsi程序的默认代码页(为了与NSIS v2兼容)。

有几种方法可以解决这个问题:

"Me ${U+A9} 2022".

  • Make手动指定Unicode字符代码点:MakeNSIS /INPUTCHARSET UTF8 MyFile.nsi

确保您的.nsi文件具有BOM,因此它被解析为UTF-8.

  • 编译为MakeNSIS /INPUTCHARSET UTF8 MyFile.nsi

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73774938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档