0

我需要在 Rails 中生成一个编码为 iso-8859-15 的文件。为此,我使用以下代码:

File.open( "#{ Rails.root }/tmp/#{ id }", 'w:iso-8859-15:iso-8859-15' ) { |f| f << Model.info_in_iso-8859-15 }
respond_to do |format|
  format.text { send_file( route, filename: 'info', type: 'text/plain; charset=iso-8859-15; header=present' ) }
end

问题是当我看到文件的编码时,它使用的是 iso-8859-1,所以我遇到了一些像 € 等符号的问题。我已经在互联网上冲浪了几个小时,但我找不到任何关于 ruby​​ 的东西。

提前致谢。

编辑:

这是我用来转换为 iso-8859-15 的方法:

def normalize_to_iso8859( string )
  if string and string.class == String
    string.gsub(/[\u201c\u201d]/, '"').gsub(/[\u2013]/, '-').encode( "ISO8859-15" )
  else
    string
  end
end
4

0 回答 0