質問: to_comma.encode("Shift_JIS", "UTF-8", :universal_newline => true) # ここから書き込み処理 File.open(output_file_name, "a") do |file| file.write string_utf8 end end end # 完了メッセージ puts "完了しました" ```
回答: `File.open`の時点でエンコードを指定しておかないと、エンコーディングはデフォルト設定とみなされてしまって、そのままでは正しく動かなくなります。 解決策には2つあって、 1. `File.open`の時点で'r:windows-31j'のようにエンコードを指定する 2. 読み取ったデータについて、`force_encoding`でエンコードの認識を指定する