我们的团队有一个程序可以生成用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