UTF-8 和 CJK 在 Ruby 中不显示 gets (Windows)

UTF-8 and CJK doesn't displaying with gets in Ruby (Windows)

提问人:Yasushiki 提问时间:9/6/2021 更新时间:9/6/2021 访问量:64

问:

我最近开始使用 Vim,但我遇到了一些编码问题,我不确定这是 Ruby 问题还是 cmd/powershell 问题,但 Ruby 不接受带有 的 CJK 字符,有时打印无法正常工作。gets

得到错误
以下图像来自 cmd 和 powershell,它显示了如何 ,并打印它(我不知道它是否重要),代码只是
pputsprintvar = gets

cmd

powershell


打印“错误”
在 powershell 中,如果我使用 CJK,打印不起作用(显然它不适用于 UTF-8),但在 cmd 中一切正常
ppowershell


我已经尝试过:

将 cmd 和 powershell 编码设置为 UTF-8:在 cmd 中它有效,但在 powershell 中我似乎不起作用。我试过了,就像这个答案一样$PSDefaultParameterValues['Out-File:Encoding'] = 'utf8'$PSDefaultParameterValues['*:Encoding'] = 'utf8'

更改 cmd 和 powershell 字体:如图所示,该字体支持 CJK (MS Mincho)

使用 UTF-8 打开 cmd:我用来打开 cmdcmd /K chcp 65001


其他信息:

视窗 10

irb(main):001:0> RUBY_VERSION
=> "2.7.3"
irb(main):001:0> Encoding.default_external
=> #<Encoding:UTF-8>
Ruby Windows PowerShell UTF-8 CJK

评论

2赞 mklement0 9/6/2021
您链接到的答案侧重于使 PowerShell cmdlet 输出 UTF-8(我已对其进行更新以使其更清晰)。更相关的答案可能是这个

答: 暂无答案