2014-12-03 33 views
0

随着railscast我学会了导出信息到Excel的红宝石轨道上。问题是我传递的数据编码错误,看起来像_òû _Ü__________。我怎样才能通过正确的内码:utf-8或utf-16?Ruby xls编码

控制器的动作:

def employees 
    start_date = Date.parse(params[:start_date]) 
    end_date = Date.parse(params[:end_date]) 
    @event_members = EventMember.where('created_at > ? AND created_at < ?', start_date, end_date) 
    respond_to do |format| 
     format.xls 
    end 
end 

xls.erb模板:

<table border="1"> 
    <tr> 
    <th>ФИО оцениваемого</th> 
    <th>Должность текущая</th> 
    </tr> 
    <% @event_members.each do |event_member| %> 
    <tr> 
    <td><%= event_member.member.full_name %></td> 
    </tr> 
    <% end %> 
</table> 
+1

['format.force_encoding(编码:: UTF_8).xls'](http://www.ruby-doc.org/ core-2.1.5/Encoding.html) – mudasobwa 2014-12-03 13:29:03

+0

@mudasobwa'参数的错误数目(2代表1)' – 2014-12-03 13:31:31

+0

对不起,我现在无法检查代码,这就是为什么我只是删除了一个链接到文档的评论而不是完整的答案。但解决方案是查找字符串并强制其编码为“UTF-8”。 – mudasobwa 2014-12-03 13:34:50

回答

0

我只需要简单的meta标签与utf-8编码

<meta content="text/html; charset=UTF-8" http-equiv="Content-Type"></meta>