Total Ruby noob,只是试图破解脚本以使其正常工作。
irb(main):011:0> Iconv.iconv("LATIN1//IGNORE", "UTF-8", "Résumé")
Iconv::InvalidCharacter: "\351"
from (irb):11:in `iconv'
from (irb):11
from :0
irb(main):012:0> Iconv.iconv("LATIN1//TRANSLIT//IGNORE", "UTF-8", "Résumé")
Iconv::IllegalSequence: "\351sum\351"
from (irb):12:in `iconv'
from (irb):12
from :0
irb(main):002:0> "Résumé".encoding
NoMethodError: undefined method `encoding' for "R\351sum\351":String
from (irb):2
答案 0 :(得分:1)
由于它已将输入字符串解释为LATIN1,因此无法沿该路径转换它。您可能需要将编码设置为UTF-8才能启动。 \351
是LATIN1 é
字符。
您需要以下结果:
"Résumé".encoding
# => #<Encoding:UTF-8>
您可以检查LANG
环境变量,或平台用于确定默认字符编码的任何内容。