【发布时间】:2017-08-24 03:13:18
【问题描述】:
我有一个 Rails 项目,它将一些 csv 数据导出到 excel 中。在某些情况下,excel 会输出特殊字符。
例如。
test 1 & test 2 & test 2
在excel中读取为
test 1 & test 2 & test 2Â
我的默认 CSV 编码设置为 UTF-8,我尝试了许多其他编码设置,但似乎都没有解决这个问题。
这里是生成 csv 的地方。
<% headers = default_headers %>
<%= CSV.generate_line(headers).strip %>
<% @activities.each do |activity| %>
<% has_permission = @_controller.is_activity_permissioned_to_user?(activity, current_user) %>
<% row = activity_generate_csv_row_data(activity, headers, has_permission, preferences) %>
<%= CSV.generate_line(row).gsub(/\A""/,'').strip.html_safe %>
<% end %>
在我的控制器中。
format.csv {
headers['Content-Disposition'] = "attachment; filename=\"
{report_name}.csv\""
headers['Content-Type'] ||= 'text/csv'
}
我尝试过的每个解决方案都失败了。我真的不知道如何解决这个问题。
【问题讨论】:
标签: ruby-on-rails ruby csv