我們的團隊有一個程序可以生成用Java編寫的PDF。可以使用非ASCII文件名的PDF使用Apache Commons Compress進行壓縮。然後將zip文件上傳到S3,由Windows和Mac客戶端下載。如何創建具有非ASCII文件名的Windows本機兼容Zip文件
當使用本機工具在Mac上解壓縮時,文件將以正確的文件名重新創建。但是,當試圖使用本地Windows UI工具解壓縮時,文件名被錯誤地創建。
的壓縮過程是:
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
,我必須添加以下代碼,它仍然沒有工作,在Windows上顯示亂碼:
zipFile.setEncoding("UTF-8");
zipFile.setUseLanguageEncodingFlag(true);
zipFile.setCreateUnicodeExtraFields(ZipArchiveOutputStream.UnicodeExtraFieldPolicy.ALWAYS);
如何創建壓縮文件,可以是由Mac和Windows使用?
是的,這是UTF8,和什麼版本的Windows?並非所有的窗口都使用UTF8進行文件名編碼。 – ydobonebi
Windows 7中,文件名是utf-8編碼,mac可以正確顯示,但windows不能,我應該爲Windows生成一個不同版本的文件名,或者有一些方法可以將關於編碼的自描述元數據添加到文件名這樣平臺可以據此推斷? – tao
如何生成在文件名中使用的utf非ascii字符? – ydobonebi