我尝试使用ruby的最后一个版本,但是当运行gem install rails时,总是出错
ERROR: While executing gem ... (Encoding::UndefinedConversionError)
U+041D to IBM437 in conversion from UTF-16LE to UTF-8 to IBM437
我使用的是Windows 8。
但是宝石列表---本地工作..仅在安装时,我的语言环境设置为英语。
它是什么类型的问题?
答案 0 :(得分:10)
使用此链接: https://bugs.ruby-lang.org/issues/10300
他们说你需要有机会参与Registry.rb文件:
文件夹:Ruby2.1.0 \ lib \ ruby \ 2.1.0 \ win32 文件:registry.rb 行:70
- LOCALE = Encoding.find(Encoding.locale_charmap)
+ LOCALE = Encoding::UTF_8
+ #LOCALE = Encoding.find(Encoding.locale_charmap)
答案 1 :(得分:1)
我们需要更多信息来解决您的问题。你在运行什么命令?
异常的含义是gem中的某些字符在ibm437中无效,ibm437是Windows机器上常见的“扩展ascii”编码。
您可以通过将内部编码设置为UTF-8来解决此问题。 Encoding.default_internal = Encoding::UTF_8
你是否介意添加一个运行ruby文件的输出,该文件只包含以下内容:
p [Encoding.default_external, Encoding.default_internal, __ENCODING__, Encoding.find('filesystem'), Encoding.find('locale')]
感谢。如果你只在irb中这样做,那就好了。