【发布时间】:2012-04-17 10:11:16
【问题描述】:
在某些机器上,我的 NSIS 安装程序使用一个错误的字符创建文件夹。
NSIS 应该使用 ń char
创建一个文件夹// U+0144 ń c5 84 LATIN SMALL LETTER N WITH ACUTE
而是用 ñ char
创建了一个文件夹// U+00F1 ñ c3 b1 LATIN SMALL LETTER N WITH TILDE
有线部分仅在某些机器上发生,我无法重现。据我所知,这仅针对 Windows Vista(可能是基本版)进行了报道。
我怀疑这与 Windows-1250 到 UTF 的转换有关。因为 NSIS 仍然不支持 UTF,所以我使用的是 Windows-1250 编码的脚本文件。 ń 字符为 0xF1,应转换为 UTF U+c584,但安装程序使用 U+c3b1 字符创建文件夹。另一方面,U+c3b1 等效于 Windows-1252 0xF1。
当编译的安装程序运行时,什么可能会影响 NSIS 脚本中使用的字符的解释?如何保证预期的转化0xF1 => U+c584?
【问题讨论】:
-
为了清楚起见 - 我不想使用 uNSIS 分支,因为它仍有一些未解决的问题。我正在耐心等待 NSIS 2.50 的正式发布。男孩,我从 2009 年就开始等待了!
-
NSISU 有哪些未解决的问题?我没有任何问题;这就是我们现在在 PortableApps.com 上使用的全部内容。
标签: windows character-encoding nsis