Ruby基础:关于print << `EOC`中执行windows命令出现中文乱码的问题
print <<`ECO`
ipconfig
ECO
输入以上代码时出现以下问题:
中文出现乱码。
这是因为在新版Windows10中,cmd的默认编码方式并不是UTF-8。所以Ruby在调用时产生冲突
自己总结出以下两种解决方案:
- 临时方案:在该命令行对话框中输入chcp 65001,或者在代码中执行此命令
print <<`EOC`, <<`EPC`
chcp 65001
EOC
ipconfig
EPC
- 永久修改:在注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor
中,新建“字符串值”,命名为“autorun”,数值数据填写“chcp 65001”,确定。
最后重新测试:
测试成功