ruby-on-rails - Ruby/Rails CSV 解析,UTF-8 中的无效字节序列

标签 ruby-on-rails ruby csv utf-8

我正在尝试解析从 Excel 电子表格生成的 CSV 文件。

这是我的代码

require 'csv'
file = File.open("input_file")
csv = CSV.parse(file)

但是我得到这个错误

ArgumentError: invalid byte sequence in UTF-8

我认为错误是因为 Excel 将文件编码为 ISO 8859-1 (Latin-1) 而不是 UTF-8

谁能帮我解决这个问题

提前致谢。

最佳答案

您需要告诉 Ruby 该文件在 ISO-8859-1 中。将您的文件打开行更改为:

file=File.open("input_file", "r:ISO-8859-1")

第二个参数告诉 Ruby 以只读方式打开,编码为 ISO-8859-1。

关于ruby-on-rails - Ruby/Rails CSV 解析,UTF-8 中的无效字节序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8380113/

相关文章:

ruby-on-rails - 如何告诉 ActiveScaffold 始终在 ListView 中显示搜索表单?

ruby-on-rails - 未初始化的常量 UrlsController::Url

python - 如何使用 python 列表理解/字典将每一列打印为唯一变量

javascript - 如何在客户端管理当前用户 session ?

ruby-on-rails - `rails s` 表示 "` 在 Windows RailsInstaller 中需要 ': cannot load such file -- pty (LoadError)"

ruby-on-rails - ruby rails : Length of Video as a Paperclip Attachment

ruby-on-rails - rails 4.1 中的子域

ruby - 在创建时将类实例收集到数组中

sql - 预处理数据的最快方法是什么?

mongodb - 将带有分号分隔符的 CSV 导入 MongoDB 数据库