问题描述
我正在尝试将度数符号写入文件,但我只得到特殊字符问号符号。我试过用 UTF-8 编码打开文件,但它没有改变任何东西。有没有办法做到这一点?
这就是我正在尝试的:
#NoEnv
SetWorkingDir %A_ScriptDir%
zml := FileOpen("zml.xml","rw",UTF-8)
zml.write("°")
zml.close()
解决方法
来自文档:“如果支持 Unicode,则 Number 是 0 到 0x10FFFF 之间的 Unicode 字符代码(或 [v1.1.21] 之前的 0xFFFF);否则,它是 0 到 255 之间的 ANSI 字符代码。”
>zml.write(chr(176))
有效。
176 是度数符号的 ASCII 码。
zml.write(chr(0x00B0))
也有效。
0x00B0 是度数符号的 Unicode 编码
zml := FileOpen("zml.xml","rw",UTF-8)
zml.write(chr(176)) ; also works: zml.write(chr(0x00B0))
zml.close()
是否启用Unicode编码;可以检查一下:
MsgBox % A_IsUnicode ? "Unicode" : "ANSI"
在我的机器 Windows 代码页上:1252
ahk 版本:1.1.33.02
ahk 脚本文件保存为 UTF-8