Rails アプリで csv アップローダーを作成しましたが、時々エラーが発生します。
Windows-1252 から UTF-8 への変換での "\x9D" から UTF-8 への変換
これは私のアップローダーのソースです:
def self.import(file)
CSV.foreach(file.path, headers: true, encoding: "windows-1252:utf-8") do |row|
title = row[1]
row[1] = title.to_ascii
description = row[2]
row[2] = description.to_ascii
Event.create! row.to_hash
end
end
私は unidecode gem ( https://github.com/norman/unidecoder ) を使用して、ユーザーが入力する間抜けな文字を正規化しています。このエラーに何度か遭遇しましたが、修正方法がわかりません。この行で問題が解決すると思いましたencoding: "windows-1252:utf-8"
が、何もありませんでした。
ありがとうスタック!