rubyの標準ライブラリ'csv'を用いて文字コード:Unicodeのファイルを出力したい
とあるシステムへの取込ファイル用に文字コードが"Unicode"のタブ区切りテキストファイルを出力したい。
が、どのように記載してもutf-8で出力されます。
どなたか方法ご存知ではないでしょうか。
【書き出し部分のみ(以外のコードは正常に動作)】
ruby
1 def create_txt(filename, csv1) 2 #ファイル書き込み 3 File.open("./#{filename}.txt", "w", encoding: "SJIS:Unicode") do |file| 4 file.write(csv1) 5 end 6 #send_fileを使ってCSVファイル作成後に自動でダウンロードされるようにする 7 stat = File::stat("./#{filename}.txt") 8 send_file("./#{filename}.txt", filename: "#{filename}.txt", length: stat.size) 9 end
下記に変えても結果は同じ
ruby
1encoding: "Unicode:SJIS" #result:utf-8 2encoding: "Unicode:utf-8" #result:utf-8 3encoding: "utf-8:Unicode" #result:utf-8 4encoding: "Unicode" #result:文字化け
回答1件
あなたの回答
tips
プレビュー