微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 NSIS 安装程序在 ini 文件中写入俄语符号

如何解决使用 NSIS 安装程序在 ini 文件中写入俄语符号

我有几个 UTF8-BOM ini 文件并使用 Unicode nsis 安装程序。

使用 WriteINIStr 可以很好地处理拉丁符号,但不显示俄语符号。

例如此代码不起作用:

WriteINIStr $File "TestSection" "Test" "Тест"

我有一些关于将文件编码为 UTF16 和向后编码的想法,但我认为那不是正确的路径。

解决方法

如果 .ini 具有 UTF-16LE BOM,Windows ini 函数将使用 UTF-16 编码写入文件。

FileOpen $0 $INSTDIR\file.ini a
FileWriteUTF16LE /BOM $0 ""
FileClose $0
WriteIniStr $INSTDIR\file.ini foo bar "${U+2115}SIS"

只要访问此文件的其他程序也使用标准的 Windows ini 功能,这将起作用。如果其他程序使用需要 UTF-8 的自定义解析器函数,那么这将不起作用,您必须convert 文件编码。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。