带汉字字符串循环出错

遇到了问题?请先进行搜索(中文和英文),然后在此提问

Moderators: tmplinshi, arcticir

ma0575
Posts: 2
Joined: 16 Mar 2021, 07:27

带汉字字符串循环出错

16 Mar 2021, 07:40

最近重装了电脑,然后出现了一个奇怪的问题 带汉字的字符串循环都不能正常识别汉字
比如

Code: Select all

addressA=共123
Loop,parse,addressA
{
 Msgbox,%A_LoopField%
}
期待结果: --> 共 1 2 3
实际结果: --> ? ? 1 2 3
汉字没有被正确识别,字符串长度打出来也是识别为5
ansi文本+ a32.exe执行 以及 utf-8文本 + u32.exe执行 均是同样的结果, 咨询下有没有什么解决方案 非常感谢

windows版本 企业版LTSC 1809(17763.316) ahk版本 最新版的1.1.33.06
fwejifjjwk2
Posts: 89
Joined: 10 Aug 2019, 01:49

Re: 带汉字字符串循环出错

16 Mar 2021, 23:38

editing
Last edited by fwejifjjwk2 on 05 Apr 2021, 21:47, edited 1 time in total.
sikongshan
Posts: 17
Joined: 06 Jul 2019, 21:57

Re: 带汉字字符串循环出错

17 Mar 2021, 02:18

是的,基本上还是脚本编码问题
可以尝试吧文件编码选择为:带 BOM 的 UTF-8
ma0575
Posts: 2
Joined: 16 Mar 2021, 07:27

Re: 带汉字字符串循环出错

17 Mar 2021, 03:30

感谢两位回复 但正如我原文描述 我几种编码都尝试过 没有任何效果(毕竟逻辑非常简单
整体字符串直接 Msgbox 是可以正常显示 共123 这个字符串的,表现上不是编码问题

另外重装电脑前 没有任何变动的脚本是正常的,把脚本拷贝到其他电脑也是正常运行的…… 所以想看看有没有什么思路解决


今天又花时间尝试了下 确实是编码问题 此贴完结
具体之前排查出错的原因 电脑里 ahk文件的打开方式中有一个名称ahk unicode 32的条目实际指向的是ahk ansi32, 不清楚这个奇葩问题怎么产生的

Return to “请求帮助”

Who is online

Users browsing this forum: No registered users and 72 guests