Ruby on rails &引用\x9D“;从Windows-1252转换为UTF-8时转换为UTF-8

Ruby on rails &引用\x9D“;从Windows-1252转换为UTF-8时转换为UTF-8,ruby-on-rails,csv,unidecoder,Ruby On Rails,Csv,Unidecoder,我在我的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 descri

我在我的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()规范化用户可能输入的任何愚蠢的字符。我曾多次遇到此错误,但无法确定如何修复它。我认为
编码:“windows-1252:utf-8”
行可以解决这个问题,但没有解决任何问题


谢谢stack

中没有9D字符(以及81、8D、8F、90)。这表示您的文本不是Windows-1252编码。至少你的源文本已经损坏。

嗯,好的。因此,删除
编码:“windows-1251:utf-8”
并再次尝试上载只会导致utf-8中出现
无效字节序列的错误。对不起,我正处于开发hah的早期阶段。@Devan源字符集可能是,用于中欧和东欧拉丁语脚本语言,字符为9D。我将对其进行测试。有没有办法让CSV上传程序允许所有编码?我有一个gem,它正在规范化编码器中的字符串,因此它是否只允许特定的编码类型并不重要。