无法使用 send_data 将文件编码更改为 utf-8

Unable to change file encoding to utf-8 using send_data

首先祝大家阅读愉快,新年快乐,收获满满。

问题来了:我无法通过 Rails 3 send_data 更改文件字符集 我通过

生成了一些内容
xml_data = ''
x = Builder::XmlMarkup.new(:target => xml_data, :indent => 1)

然后我用各种数据填充它。

当我尝试使用此命令发送此文件以供下载时

send_data xml_data.encode('cp1251'),
          :type => 'text/xml; charset=utf-8; header=present',
          :filename => "data.xml"

它下载得很好,但出于某种原因,在 Linux 时,我请求使用

进行文件编码
> file -bi data.xml
text/plain; charset=iso-8859-1

我需要此文件的字符集为 utf-8。如何通过Railssend_data自动设置?

非常感谢有关此问题的任何帮助。 谢谢。

看来第三方系统用的是XML,全UTF-8编码就好了。

结果我得到了

send_data xml_data.encode('utf-8'),
          :type => 'text/xml; charset=utf-8; header=present',
          :filename => "data.xml"