Ruby:如何生成具有Excel友好编码的CSV文件
发布时间:2020-12-16 19:18:27 所属栏目:百科 来源:网络整理
导读:我生成的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","Te
我生成的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 ?"] } 我有同样的问题,并且编码已修复. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |