ruby `encode' : "\xC3"从 ASCII-8BIT 到 UTF-8 (Encoding::UndefinedConversionError)

标签 ruby encoding utf-8

tvdb 中的汉尼拔剧集里有奇怪的角色。

例如:

Œuf

于是ruby吐出:

./manifesto.rb:19:in `encode': "\xC3" from ASCII-8BIT to UTF-8 (Encoding::UndefinedConversionError)
    from ./manifesto.rb:19:in `to_json'
    from ./manifesto.rb:19:in `<main>'

第 19 行是:

puts @tree.to_json

有没有办法处理这些非utf字符?我宁愿不替换它们,而是转换它们?还是无视他们?我不知道,感谢任何帮助。

奇怪的是脚本通过 cron 运行良好。手动运行它会产生错误。

最佳答案

File.open(yml_file, 'w') 应该改为 File.open(yml_file, 'wb')

关于ruby `encode' : "\xC3"从 ASCII-8BIT 到 UTF-8 (Encoding::UndefinedConversionError),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23309669/

相关文章:

PostgreSQL:编码 "UTF8"的字符在 plperl 存储过程中的 "LATIN1"中没有等效项

ruby - 如何在不使用文件的情况下实现 Unix Tail 操作。在 ruby

ruby - 如何检测 Gnome 终端?

ruby - 基于 if 修饰符的字符串连接和生成 block

sql-server - SQL Server base64 编码存储函数

python - 如何为 json.load 设置正确的编码

ruby - ruby 字符串的范围是什么?

video - FFmpeg 分割大文件

winapi - WIndows 11 默认 API 和 UTF 编码

Python 正则表达式匹配因 UTF-8 字符而失败