请求rails时编码xls文件
Posted
技术标签:
【中文标题】请求rails时编码xls文件【英文标题】:Encoding xls file when requested rails 【发布时间】:2014-06-29 11:30:16 【问题描述】:我使用 html 表定义作为模板导出到 rails 中的 xls。这里有描述:http://railscasts.com/episodes/362-exporting-csv-and-excel?view=asciicast
我有一个 XLS 文件生成器,它可以正常工作,当从浏览器请求时,它会下载文件并以正确的编码在 Excel 中显示它。当从 HTTP 客户端请求时,我也收到了正确的俄语文本。我想将此文件附加到电子邮件中,因此我通过ActionDispatch::Integration::RequestHelpers 提出请求:
session.get('issues#index', format: :xls,)
因此在 session.response.body 中有问号而不是俄语文本。还有
encode("UTF-8", :invalid => :replace, :undef => :replace, :replace => "")
没有帮助,它只是没有任何改变。 可能是什么原因?或者也许告诉我另一种附加文件的方法以避免此类问题?
【问题讨论】:
【参考方案1】:解决方案:发送http header Accept-lenguages=ru-RU
结果查询:
session.get('issues#index', format: :xls, 'HTTP_ACCEPT_LANGUAGE' => 'ru-RU')
【讨论】:
以上是关于请求rails时编码xls文件的主要内容,如果未能解决你的问题,请参考以下文章
在 Rails 4 中导入 xls 文件不起作用 Roo::Excel.new
Rails 中的 Spreadsheet.open 给出此错误“未知编码名称 - MACINTOSH”