0

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 を使用しているため、€ などの記号に問題があることです。私は何時間もインターネットをサーフィンしてきましたが、ルビーのものが見つかりません。

前もって感謝します。

編集:

これは、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