(Ruby 2.5)我有一种方法可以读取和解析通过 Alchemy CMS 上传的 csv 文件
def process_csv(csv_file, current_user_id, original_filename)
lock_importer
errors = []
index = 0
string_converter = lambda { |field| field.strip }
total = CSV.foreach(csv_file, headers: true).count
csv_string = csv_file.read.encode!("UTF-8", "iso-8859-1", invalid: :replace)
CSV.parse(csv_string, headers: true, header_converters: :symbol, skip_blanks: true, converters: [string_converter] ) do |row|
# do other stuff
end
但是当我尝试上传一个 csv 文件,该文件的列(名称)和包含特殊字符的字符串时,我会收到Invalid Byte Sequence in UTF-8
错误消息。我正在尝试测试 value N'öt Réal Stô'rë
。
我尝试了一些在网上找到的解决方案,但没有运气 - 有什么建议吗?