rails4未知编码名称 - CP720

Ast*_*stm 34 ruby command-line cmd ruby-on-rails

我现在得到这个错误当我想运行任何gem命令,如

 gem install rubygems-update
Run Code Online (Sandbox Code Playgroud)

错误

while executing gem ... (ArgumentError)
unknown encoding name - CP720
Run Code Online (Sandbox Code Playgroud)

因此,当我调整它时,我发现有人建议使用此命令将编码更改为1252

C:\DevKit> chcp 1252
c:\DevKit> ruby dk.rb init  
Run Code Online (Sandbox Code Playgroud)

但是在我使用它之后我仍然得到了同样的错误,所以我怎么能解决这个问题?????

注意:我正在使用Windows 7

num*_*web 107

这个命令为我修复了它(没有第二个命令);

chcp 1252
Run Code Online (Sandbox Code Playgroud)

这会更改当前终端的代码页.

更新; 为什么会这样?

其他一些资源来看,这是由您当前的终端引起的,因为它使用的是Ruby不支持的代码页(编码).代码页720是当天MS-DOS使用的阿拉伯字符,似乎Ruby没有它的转换表.

我建议你将终端代码页切换到Ruby理解的东西,比如拉丁字母的windows 1252字符编码.

这将仅更改此终端的代码页.如果您想永久更改,您必须按照本文中的 说明编辑Regedit,但请注意这可能导致您的计算机无法启动!

一个更安全的方式永久地强制终端使用正确的代码页是通过使用批处理为这里解释.

如果您正在使用nodejs并对我目前正在使用的"nodevars.bat"感兴趣,请查看此帖子.

  • 我有同样的问题.我使用了"chcp 65001"用于utf-8编码,它对我有用! (3认同)

abu*_*ick 24

找到我的解决方案:https: //stackoverflow.com/a/26244869/1673761

这对我
有用:修改了registry.rb的第70行(在RailsInstaller\Ruby2.1.0\lib\ruby​​\2.1.0\win32中).

改变这一行

LOCALE = Encoding.find(Encoding.locale_charmap)

对这一个

LOCALE = Encoding::UTF_8
Run Code Online (Sandbox Code Playgroud)