|
楼主 |
发表于 2015-9-26 11:30:20
|
显示全部楼层
总之保持和源一样,应该是最合理的。ANSI就ANSI,UTF就UTF,有BOM就有,没有就没有
afan 发表于 2015-9-25 19:49
这个结论只能对纯英文脚本有效, 要是这样的话, 汉化就没有意义!
7 月 10 号 3.3.14.0 开始, 接着 3.3.15.0, 3.3.14.1, 到 3.3.14.2, 汇编后的文档, 窗口左侧目录, 索引窗格的中文全是乱码.
研读官方的文档生成工具脚本(就因为这个反反复复了 2 个多月)发现:
1 个帮助文档的资源除 .htm 文件之外, 还有 1 个 方案文件, 1 个目录文件, 1 个索引文件(暂且称其为 1 套文件吧).
现在的 AUtoIt.chm 看起来是 1 套文件, 实际生成之前是 2 套(内置和 UDF)文件.
工具脚本在生成文档之前, 先将 2 套文件的目录, 索引文件合并为一套目录, 索引文件, 乱码问题就因为这个合并处理.
研读这个合并处理的脚本代码, 原来是合并为 UTF8 文件了,记事本打开合并后的文件,显示完全正常!
现在可以确定乱码只能是文档汇编程序 HTML Help Workshop(这是官方工具脚本指定的汇编程序)造成的了.
这个汇编程序一直使用国内的汉化版, 为了确定是否真的是这个原因, 特意到微软下载了英文原版的测试, 结果还是乱码!(什么原因我是弄不明白的).
官方工具脚本不是一成不变的, 3.3.14.0 开始的工具脚本是更新了的最新版工具脚本.
回头又去看 3.3.12.0 版工具脚本的合并结果,却是 ANSI 的!
按你"保持和源一样"的说法, 合并后的乱码文档就没有任何意义了....
另外, 前面已有两位网友反馈, 通过"选项编译"窗口添加编译指令后, AutoIt3Wrapper 将源脚本处理为 UTF8, 使源脚本中文乱码(我也测试过了)...
为此, 使用英文原版 AutoIt3Wrapper.au3 作以下测试:
1. 右键"新建 au3 脚本",
2. 检测编码为 256 -->> UTF8 (无 BOM).
3. SciTE 打开脚本, 添加一句 MsgBox(0,0,'123'), 运行后关闭脚本
4. 再检测编码还是 256 -->> UTF8 (无 BOM).
5. 打开 "选项编译" 窗口, 向这个脚本添加有中文的编译指令 "测试.exe", 保存到脚本后退出"选项编译"窗口
结果编译指令中 " 测试.exe " 的 "测试" 显示乱码, 运行正常后关闭脚本
6. 检测编码还是 256 -->> UTF8 (无 BOM).
7. 再打开这个脚本, 修改上面添加的代码为 MsgBox(0,0,'再见'), 运行后关闭脚本
8. 再次检测编码, 奇迹了, 变为 512 -->> ANSI !!! (一直不明白什么原因)
再重新做同样的测试:
1. 右键"新建 au3 脚本",
2. 检测编码为 256 -->> UTF8 (无 BOM).
3. SciTE 打开脚本, 添加一句 MsgBox(0,0,'2 次测试'), 中文显示正常, 运行后关闭脚本
4. 再次检测编码, 又奇迹了, 变为 512 -->> ANSI !!!
5. 打开 "选项编译" 窗口, 向这个脚本添加有中文的编译指令 "2 次测试.exe", 保存到脚本后退出"选项编译"窗口
6. 此时脚本所有中文全部乱码!!! 但运行正常!!!
从以上测试看来, 要保持和源一样, 编写脚本就不能使用中文了...
以上说法供参考... |
|