使用Ruby's CSV library从我的表中提取数据后,从Excel打开导出的CSV文件。我使用Excel打开文件(我的所有用户都使用Excel打开我的CSV文件)。它看起来很时髦。这是一些屏幕截图。
我尝试将其转换为ASCII,但是我收到错误:
Encoding::UndefinedConversionError: U+2019 from UTF-8 to US-ASCII
CSV.open(fileNameInbound, 'wb', :encoding => Encoding::US_ASCII) do |csv|
myModel.all.each do |m|
csv << m
end
end
我的用户不懂科技,所以我不能让他们尝试将其改为UTF-8或其他东西。
在Sublime中,Text看起来像这样:
在Excel中看起来像这样:
答案 0 :(得分:0)
我通过在文件开头添加BOM字符来修复我的问题,以强制在Excel中使用UTF-8。
CSV.open(fileNameInbound, 'wb', :encoding: 'UTF-8') do |csv|
myModel.all.each do |m|
csv << ['\xef\xbb\xbf']
csv << m
end
end