2012-02-15 41 views
1

我正在创建zip存档与rubyzip宝石和Zip::ZipOutputStream类,并且有unicode字母(西里尔语)的问题 - 在档案中它们被显示为问号,如????? ???? ??.doc。 rubyzip支持unicode吗?ruby​​zip和unicode字符的文件名

+0

and ruby​​ 1.9.2 :) – fl00r 2012-02-15 20:13:29

回答

1

我看着rubyzip方法,似乎并没有rubyzip可以改变语言。它可能使用您的计算机的默认代码页。您可以使用chilkat zip代替this示例,除非您具有chilkat无法解决的特定要求。

0

您可以使用以下代码片段将UTF-8转换为CP437,其中涵盖了一些unicode字符(仅少数)。 Windows 7及更早版本假定文件名是在CP437中编码的。

# first normalize the string 
normalized_filename = input.mb_chars.normalize.to_s 
# then encode in cp437 
filename_for_zip = normalized_filename.encode("cp437") 
# add file to zip 
zipfile.add(filename_for_zip, pdf_file) 
相关问题