2012-02-15 75 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) 
相關問題