【发布时间】:2018-12-03 01:14:41
【问题描述】:
我正在上传一个 CSV 文件,在将行导入数据库时遇到问题:
Encoding::UndefinedConversionError ("\xCC" from ASCII-8BIT to UTF-8)
确保每一列都被正确编码以放入数据库或被忽略的最有效方法是什么?
最基本的方法是遍历每一行和每个字段并强制对字符串进行编码,但这似乎非常低效。有什么更好的方法来处理这个问题?
目前它只是作为参数上传(:csv_file)。然后我按如下方式访问它:
CSV.parse(csv_file.download) 在模型中。
我假设有一种方法可以在对 activestorage 文件调用 CSV.parse 时强制编码,但不确定如何。有任何想法吗?
谢谢!
【问题讨论】:
-
是保存 CSV 文件还是仅使用 CSV 进行数据导入然后丢弃它?因为如果是后者你不需要使用activestorage,只需要简单的文件上传就可以了。
-
@SimonBrazell 它正在被持久化
标签: ruby-on-rails ruby ruby-on-rails-5 rails-activestorage