Ruby:如何生成具有Excel友好编码的CSV文件

我生成的CSV文件一旦生成就需要在Excel中打开和查看. Excel似乎需要与UTF-8不同的编码.

这是我的配置和生成代码:

csv_config = {col_sep: ";",row_sep: "\n",encoding: Encoding::UTF_8
             }

csv_string = CSV.generate(csv_config) do |csv|
  csv << ["Text a","Text b","Text æ","Text ø","Text å"]
end

在Excel中打开时,特殊字符未正确显示:

Text a  Text b  Text æ Text ø Text å

知道如何确保正确编码吗?

解决方法

您应该将编码切换为ISO-8859-1,如下所示:
CSV.generate(encoding: 'ISO-8859-1') { |csv|  csv << ["Text á","Text é","Text æ"] }

对于您的上下文,您可以这样做:

config = {
  col_sep: ';',row_sep: ';',encoding: 'ISO-8859-1'
}

CSV.generate(config) { |csv|  csv << ["Text á","Text æ"] }

我有同样的问题,并且编码已修复.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...