2011-02-11 29 views
0

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システム上のファイルでも、ファイル名は正しく復元されますが、これらは他の場所でも動作すると信じることができますか?

答えて

3

一般に、私はいつもファイル名、特にプログラムでアクセスすることを意図したもの、特に圧縮ファイル内で、アクセントのない文字(アクセント付き文字を含む)を使用することを控えます。国際的に敏感ではない他の言語を考慮すると面倒なだけでなく、ASCII以外の文字を扱う際に圧縮解除プログラムが悪いこともあります。

+0

である。これはZIP形式の問題ではなく、さまざまなOSやZIP処理ツールによって内容が解釈される方法であることが分かりましたので、名前を変更しました。 – jpatokal

関連する問題