在IronRuby - 编写自动化测试脚本中介绍了在NetBeans下显示的结果是正确的,而在DOS下显示乱码,如下图所示:
实际应用中是执行一个bat文件进行自动化测试,而不是在Netbeans下,而这个明显又是文字编码的问题,我想应该会有什么设置可以在DOS中显示中文。在IronRuby - 文件编码惹的祸中介绍了Ruby文件使用的UTF-8格式,于是上网收了一下如何在DOS窗口显示UTF-8字符的文章,找到了解决办法。
解决步骤
以下介绍一下如何设置DOS窗口显示UTF-8字符。
- 打开CMD.exe命令行窗口
- 通过 chcp命令改变代码页,UTF-8的代码页为65001
1
chcp 65001<BR>
- 执行该操作后,代码页就被变成UTF-8了。但是还需要修改窗口属性的字体才能正确显示UTF-8字符,在命令行标题栏上点击右键,选择【属性】-【字体】,将字体修改为True Type字体【Lucida Console】,然后点击确定将属性应用到当前窗口。可以保持这个设置,免得下次还需要设置。
- 通过以上操作后,显示出来的内容可能不完全,这时我们可以通过最小化后再最大化命令行窗口解决
解决后显示正确
修改后,再执行IronRuby - 编写自动化测试脚本中的计算器自动化脚本时,显示正确,截图如下:
遗留问题
虽然显示正确了,但是设置后,双击bat文件或者在cmd窗口执行bat文件时没有反应,不知道有谁知道如何解决这个呢?
lostinyoureyes提供的办法可以解决: chcp 65001 > nul && ir.exe -KU -X:ShowClrExceptions TestCalc.rb && pause
本文转自 jingen_zhou 51CTO博客,原文链接:http://blog.51cto.com/zhoujg/517997,如需转载请自行联系原作者