我生成的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 æ"] }
我有同样的问题,并且编码已修复.