如何保持所有字符从UTF-8转换为CP1252的红宝石2.2转换UTF-8 CP1252红宝石2.2
验证码:
file = 'd:/1 descrição.txt'
puts file.encode('cp1252')
给这个错误:
`encode': U+0327 to WINDOWS-1252 in conversion from UTF-8 to WINDOWS-1252 (Encoding::UndefinedConversionError)
我的应用程序需要cp1252,但我找不到任何方法来保留所有的字符。
我不能替换这个字符,因为以后我会用这个信息从文件系统读取文件。
puts file.encode('cp1252', undef: :replace, replace: '')
> d:/1 descricao.txt
PS:这是一个Ruby脚本不on Rails应用程序红宝石
我正在使用Ruby 2.3,并且您的代码不会产生错误。你确定这个字符串是正确的,并且在你的源代码中实际上是UTF-8吗? – tadman