Библиотека RubyZip позволяет мне создавать имена файлов с диакритическими знаками:
require 'zip/zip'
Zip::ZipFile.open("my.zip", Zip::ZipFile::CREATE) { |zipfile|
zipfile.get_output_stream("Café.txt") { |f| f.puts "Hello from ZipFile" }
}
Но в получившемся zip-архиве они выглядят поврежденными:
$ unzip -v my.zip
Archive: my.zip
Length Method Size Cmpr Date Time CRC-32 Name
-------- ------ ------- ---- ---------- ----- -------- ----
19 Defl:N 21 -11% 2011-02-11 11:14 c49ac197 Caf??.txt
Если я разархивирую файл в той же системе Linux, в которой он был создан, имя файла будет восстановлено правильно, но могу ли я доверять тому, что они будут работать в другом месте, или мне следует перестраховаться и заглушить имена?