找回密码
 加入
搜索
楼主: 131738

[原创] 更新 AutoIt v3.3.14.5 (2) 中文安装包

 火...   [复制链接]
 楼主| 发表于 2015-9-23 23:39:02 | 显示全部楼层
本帖最后由 131738 于 2015-9-23 23:44 编辑
原来源文件是正常的 按F7或者CTRL+F7 编译以后 源文件里面的中文全部变为乱码
eaglelin 发表于 2015-9-23 19:00


经过测试,总算明白怎么回事了.
源脚本顶部有某些需要更新源的编译指令, 或者没有任何编译指令的源脚本经过"选项编译"窗口添加了一些编译指令, F7 或者 CTRL+F7 后确实使源脚本中文乱码了!
但不表示该脚本损坏了, 该脚本和编译后的 .exe 仍然可以正常运行的! 这个就是 3.3.14.0 开始的新常态!!!
这个常态以后会继续下去的, 即使你使用英文原版, 也会出现这个常态! 除非你的脚本不出现中文!

其实问题很简单的, 记事本打开这个乱码脚本, 记事本窗口显示完全正常, 然后另存为 ANSI 就 OK 了!
就为这点小麻烦即放弃新版本, 未免有点走极端了. 并且这一放弃,表示以后官方所有更新版本都得放弃了!
决不是说要你一定使用我的这个版本, 天空网马上也会放出 3.3.14.2 的中文版的, 有得你选择的!
发表于 2015-9-23 19:00:49 | 显示全部楼层
本帖最后由 eaglelin 于 2015-9-23 19:02 编辑
用什么程序编译的? 看你反馈的意思, 编译前脚本是正常的是吗?
是 SciTE 菜单的 "直接编译" 或 "选项编 ...
131738 发表于 2015-9-23 17:00



   原来源文件是正常的 按F7或者CTRL+F7 编译以后 源文件里面的中文全部变为乱码
 楼主| 发表于 2015-9-23 18:04:49 | 显示全部楼层
原来如此…  统一调用exe还是要妥当些的, 呵呵
afan 发表于 2015-9-23 18:01

老实说,没考虑妥当, 而是.... 呵呵... 你那什么的...
发表于 2015-9-23 18:01:47 | 显示全部楼层
老年痴呆了..... 找到编译失败的原因了!
SciTE4AutoIt3_v15.920.938.0 有一个重大修改, 不再使用 Auto ...
131738 发表于 2015-9-23 17:57



    原来如此…  统一调用exe还是要妥当些的, 呵呵
 楼主| 发表于 2015-9-23 17:57:11 | 显示全部楼层
1,用编码模式 64 (使用 Unicode UTF16 大编码模式)可以正常显示

2,我试过我的工具在3.3.1 ...
afan 发表于 2015-9-23 16:30


老年痴呆了..... 找到编译失败的原因了!
SciTE4AutoIt3_v15.920.938.0 有一个重大修改, 不再使用 AutoIt3Wrapper.exe 程序,
而是直接使用 AutoIt3Wrapper.au3 脚本, 而这里发布的安装包我已修改回到原来的结构, 即继续使用 AutoIt3Wrapper.exe 程序.
你的工具失败是在不使用 AutoIt3Wrapper.exe 程序, 而是直接使用 AutoIt3Wrapper.au3 脚本的状态下.

估计天空 S 也应该会这样修改的吧....
发表于 2015-9-23 17:40:21 | 显示全部楼层
前辈辛苦  付出这么多  根本不是得过且过的人啊 哈哈
 楼主| 发表于 2015-9-23 17:33:25 | 显示全部楼层
如果 _ReplaceStringInFile(), _FileWriteToLine() 这些函数不是使用  FileOpen() 返回的文件句柄 ...
afan 发表于 2015-9-23 17:25


这个有点高级了! 水平有限, 得过且过吧....呵呵...
 楼主| 发表于 2015-9-23 17:28:33 | 显示全部楼层
是的,用 FileOpen 设置打开模式。
比如我试过 64(Unicode UTF16 大编码)模式可以,使用 512  ...
afan 发表于 2015-9-23 17:21


抱歉! 劳你费神! 刚才在 3.3.14.2 测试你的工具, 居然成功了, 实在闹不明白了....

谢谢!!!!
发表于 2015-9-23 17:25:22 | 显示全部楼层
....
_ReplaceStringInFile(), _FileWriteToLine() 这些函数不是使用  FileOpen() 返回的文件句柄 ...
131738 发表于 2015-9-23 17:07



    如果 _ReplaceStringInFile(), _FileWriteToLine() 这些函数不是使用  FileOpen() 返回的文件句柄,完全可以自行修改最后的 FileWrite
发表于 2015-9-23 17:21:57 | 显示全部楼层
编码模式是否说在 FileOpen() 设置编码标志?
如果是指的这个,我知道的, 但 _ReplaceStringInFile(), _ ...
131738 发表于 2015-9-23 17:07



    是的,用 FileOpen 设置打开模式。
比如我试过 64(Unicode UTF16 大编码)模式可以,使用 512 ( 以前的 ANSI 模式)也可以。
如:
$sFile = '复件 Array.au3'
$str = FileRead($sFile)
$hO = FileOpen($sFile, 2 + 512);使用 ANSI 读写模式.
FileWrite($hO, $str)
FileClose($hO)
这样就转为ANSI 编码文件了。
 楼主| 发表于 2015-9-23 17:07:25 | 显示全部楼层
1,用编码模式 64 (使用 Unicode UTF16 大编码模式)可以正常显示

2,我试过我的工具在3.3.1 ...
afan 发表于 2015-9-23 16:30


编码模式是否说在 FileOpen() 设置编码标志?
如果是指的这个,我知道的, 但 _ReplaceStringInFile(), _FileWriteToLine() 这些函数不是使用  FileOpen() 返回的文件句柄.
 楼主| 发表于 2015-9-23 17:00:36 | 显示全部楼层
就是编译以后 源文件 全部中文变成乱码  !
我只好放弃了
eaglelin 发表于 2015-9-23 16:51


用什么程序编译的? 看你反馈的意思, 编译前脚本是正常的是吗?
是 SciTE 菜单的 "直接编译" 或 "选项编译" 吗?
实在不好理解 "编译以后 源文件 全部中文变成乱码 " ?
 楼主| 发表于 2015-9-23 16:52:08 | 显示全部楼层
本帖最后由 131738 于 2015-9-23 16:53 编辑
1,用编码模式 32 (使用 Unicode UTF16 小编码模式)可以正常显示

2,我试过我的工具在3.3.1 ...
afan 发表于 2015-9-23 16:30


不知编码模式如何调整?
如果你的 3.3.14.2 能正常编译, 那我提供编译失败的例子给你就没有意义了....
好像提示 /in 错误, 我的电脑同时有 12.0 和 14.2 两个文件夹, 也做了个自动切换的小工具在桌面,
所以一出错就马上关了编译窗口, 立即切换到 12.0 完成编译, 所以不太记得失败提示框的内容了,
那些出错的记录文件我也看不懂, 根本没看就直接删除了.

如果要提供编译过程生成的失败记录文件, 我可以测试编译一个脚本后提供给你....
发表于 2015-9-23 16:51:13 | 显示全部楼层
最好截个图看看, 中文乱码在编辑窗格, 还是控制台窗格, 又或 2 者都是乱码?
点开 SciTE "文件/编码" ...
131738 发表于 2015-9-23 11:00



    就是编译以后 源文件 全部中文变成乱码  !
我只好放弃了
发表于 2015-9-23 16:30:53 | 显示全部楼层
本帖最后由 afan 于 2015-9-23 16:42 编辑
1. 也就是脚本 a 向脚本 b 写入中文字符, 由于 3.3.14.x 是作为 UTF 方式写入, 因此出现乱码.
    此时 ...
131738 发表于 2015-9-23 08:46



    1,用编码模式 64 (使用 Unicode UTF16 大编码模式)可以正常显示

2,我试过我的工具在3.3.14.2下面同样工作正常,可否提供出错的例子?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2025-2-26 07:29 , Processed in 0.078641 second(s), 15 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表