ZipArchiveOutputStream ostream = ...; // Your initialization code here ostream.setEncoding("Cp437"); // This should handle your "special" characters ostream.setFallbackToUTF8(true); // For "unknown" characters! ostream.setUseLanguageEncodingFlag(true); ostream.setCreateUnicodeExtraFields( ZipArchiveOutputStream.UnicodeExtraFieldPolicy.NOT_ENCODEABLE);
@Override public void start(final ExporterContext context) { zipStream = new ZipArchiveOutputStream(outputStream); // NOTE: This encoding allows us to workaround bug... // http://bugs.sun.com/bugdatabase/view_bug.do;:WuuT?bug_id=4820807 zipStream.setEncoding("UTF-8"); zipStream.setCreateUnicodeExtraFields(UnicodeExtraFieldPolicy.ALWAYS); zipStream.setUseLanguageEncodingFlag(true); zipStream.setFallbackToUTF8(true); }
@Override public void start(final ExporterContext context) { zipStream = new ZipArchiveOutputStream(outputStream); // NOTE: This encoding allows us to workaround bug... // http://bugs.sun.com/bugdatabase/view_bug.do;:WuuT?bug_id=4820807 zipStream.setEncoding("UTF-8"); zipStream.setCreateUnicodeExtraFields(UnicodeExtraFieldPolicy.ALWAYS); zipStream.setUseLanguageEncodingFlag(true); zipStream.setFallbackToUTF8(true); }
public void startExport() { // ALF-2016 zipStream = new ZipArchiveOutputStream(outputStream); // NOTE: This encoding allows us to workaround bug... // http://bugs.sun.com/bugdatabase/view_bug.do;:WuuT?bug_id=4820807 zipStream.setEncoding("UTF-8"); zipStream.setCreateUnicodeExtraFields(UnicodeExtraFieldPolicy.ALWAYS); zipStream.setUseLanguageEncodingFlag(true); zipStream.setFallbackToUTF8(true); zipStream.setUseZip64(Zip64Mode.Always); }
public void startExport() { // ALF-2016 zipStream = new ZipArchiveOutputStream(outputStream); // NOTE: This encoding allows us to workaround bug... // http://bugs.sun.com/bugdatabase/view_bug.do;:WuuT?bug_id=4820807 zipStream.setEncoding("UTF-8"); zipStream.setCreateUnicodeExtraFields(UnicodeExtraFieldPolicy.ALWAYS); zipStream.setUseLanguageEncodingFlag(true); zipStream.setFallbackToUTF8(true); zipStream.setUseZip64(Zip64Mode.Always); }
private void configure(ZipArchiveOutputStream o) { o.setLevel(level); o.setComment(comment); o.setFallbackToUTF8(fallBackToUTF8); o.setUseLanguageEncodingFlag(useLanguageEncodingFlag); o.setCreateUnicodeExtraFields(createUnicodeExtraFields.getPolicy()); o.setUseZip64(zip64Mode.getPolicy()); }
import java.io.*; import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream; public class ZipFiles { public static void main(String[] args) throws Exception{ ZipArchiveOutputStream zipOut = new ZipArchiveOutputStream(new FileOutputStream("测试.zip")); zipOut.setEncoding("Cp437"); // This should handle your "special" characters zipOut.setFallbackToUTF8(true); // For "unknown" characters! zipOut.setUseLanguageEncodingFlag(true); zipOut.setCreateUnicodeExtraFields( ZipArchiveOutputStream.UnicodeExtraFieldPolicy.NOT_ENCODEABLE); zipOut.putArchiveEntry(new ZipArchiveEntry("测试.xml")); zipOut.putArchiveEntry(new ZipArchiveEntry("test.xml")); zipOut.closeArchiveEntry(); zipOut.flush(); zipOut.close(); } }
zout.setEncoding("UTF-8"); zout.setFallbackToUTF8(true); zout.setUseLanguageEncodingFlag(true); if (compress)