You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NSIS安装器重音字母显示异常(é显示为é),如何修复?

解决NSIS安装程序中MIT许可证特殊字符显示乱码问题

出现é显示为é的问题,本质是UTF-8编码的字符被当成ANSI解析导致的乱码——即使开启了Unicode True,如果文件编码或读取方式不对,依然会出问题。可以按以下步骤修复:

  • 确保许可证文件编码为UTF-8带BOM
    大多数文本编辑器默认保存的UTF-8文件不带BOM,NSIS在Unicode模式下读取这类文件时,可能无法正确识别编码。用记事本打开许可证文件,选择「另存为」,编码选择「UTF-8」(记事本的UTF-8选项默认带BOM),替换原文件。

  • 在脚本中明确指定许可证文件的编码
    如果调整文件编码后仍有问题,在调用LicenseData指令时,添加/UTF8参数强制指定编码:

    Unicode True
    ; 其他配置...
    LicenseData /UTF8 "path/to/your/license.txt"
    

    这个参数会让NSIS直接以UTF-8格式读取文件,无需依赖BOM识别。

  • 升级到NSIS 3.x版本
    NSIS 2.x对Unicode的支持不完善,即使配置了Unicode True,处理特殊字符时仍可能有bug。如果你的NSIS版本低于3.x,升级到最新稳定版再测试。

  • 备选:用Unicode转义字符替代特殊字符
    如果上述方法都不生效,可以直接在脚本的LangString中用Unicode转义码代替é,比如:

    LangString LICENSE_TEXT ${LANG_ENGLISH} "Copyright (c) 2024 JasperD\u00E9\n..."
    LicenseData ${LICENSE_TEXT}
    

    \u00E9就是é的Unicode转义表示,能确保字符正确显示。

内容的提问来源于stack exchange,提问作者JasperDG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 13:12:14