rubyzip で ZIP 圧縮して、 Windows でそれを解凍したら、
日本語を含むファイルが文字化けしている。
それだと困るので、その対処方法。
調べたところ、
Mac や Linux では文字コードが UTF-8 だけど、 Windows では Shift-JIS だからとのこと。
なので、ファイル名のエンコーディングに Shift-JIS を使えば直る。
test.rb
# coding: utf-8 require 'zip' Zip::OutputStream.open("test.zip") do |zos| zos.put_next_entry "テスト.txt".encode("Shift_JIS") zos.puts "aaaaaaaaaaaaaaaaaaaaaaaあああああああああああ" end
実行結果
上が Shift-JIS エンコードしたもの、下がそのまま(UTF-8)のもの。
以上、おわり。