IronRuby:请教如何在DOS窗口正确显示UTF-8字符后执行bat文件呢?

  在IronRuby - 编写自动化测试脚本中介绍了在NetBeans下显示的结果是正确的,而在DOS下显示乱码,如下图所示:

  

  实际应用中是执行一个bat文件进行自动化测试,而不是在Netbeans下,而这个明显又是文字编码的问题,我想应该会有什么设置可以在DOS中显示中文。在IronRuby - 文件编码惹的祸中介绍了Ruby文件使用的UTF-8格式,于是上网收了一下如何在DOS窗口显示UTF-8字符的文章,找到了解决办法。

解决步骤

以下介绍一下如何设置DOS窗口显示UTF-8字符。

  1. 打开CMD.exe命令行窗口
  2. 通过 chcp命令改变代码页,UTF-8的代码页为65001
    1
    chcp 65001<br>
  3. 执行该操作后,代码页就被变成UTF-8了。但是还需要修改窗口属性的字体才能正确显示UTF-8字符,在命令行标题栏上点击右键,选择【属性】-【字体】,将字体修改为True Type字体【Lucida Console】,然后点击确定将属性应用到当前窗口。可以保持这个设置,免得下次还需要设置。
  4. 通过以上操作后,显示出来的内容可能不完全,这时我们可以通过最小化后再最大化命令行窗口解决

解决后显示正确

修改后,再执行IronRuby - 编写自动化测试脚本中的计算器自动化脚本时,显示正确,截图如下:

遗留问题

虽然显示正确了,但是设置后,双击bat文件或者在cmd窗口执行bat文件时没有反应,不知道有谁知道如何解决这个呢?

lostinyoureyes提供的办法可以解决: chcp 65001 > nul && ir.exe -KU -X:ShowClrExceptions TestCalc.rb && pause

 

欢迎转载,转载请注明:转载自周金根 [ http://zhoujg.cnblogs.com/ ]

posted on   周 金根  阅读(7975)  评论(4编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
历史上的今天:
2007-06-28 Antlr实现表达式引擎的语法文件

导航

点击右上角即可分享
微信分享提示