Adm-zip添加压缩文件中文解决方案

在nodejs下压缩文件,可以使用一个流行的zip压缩模块:Adm-zip。

无论是创建压缩文件,还是解压文件都是非常简单易用。

但是对于中文场景来说,往往出现的问题是文件名称是中文的话,就会出现乱码。

去网上搜索,基本都是解决解压文件出现的中文名称乱码,比如这篇文章所述:https://www.cnblogs.com/wupeng88/p/10635709.html

那么创建压缩文件时出现的中文名称乱码怎么解决呢?

外事不决问Google,在官网issue中能够找到方法:

https://github.com/cthackers/adm-zip/issues/332

在zip.writeZip之前多操作一步就可以了:

 // update file headers 更新文件头
    zip.getEntries().forEach(entry => {
        entry.header.flags |= 0x0800;                                          // Set bit 11 - APP Note 4.4.4 Language encoding flag (EFS)
    });

    // save file (we generate our content again)
    zip.writeZip(fpp.join(__dirname,filepath));

http://cssor.com/adm-zip%e6%b7%bb%e5%8a%a0%e5%8e%8b%e7%bc%a9%e6%96%87%e4%bb%b6%e4%b8%ad%e6%96%87%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88.html

参与评论

邮箱地址不会被公开。 必填项已用*标注

*

全部分类
Books(4)code(7)database(6)html&css(24)java(11)JavaScript(58)jQuery(24)linux(20)python(1)React(1)share(1)soft(4)solution(55)thinking(17)vim(9)WordPress(8)前端优化(12)拓展(33)服务器(33)移动开发(4)自然(26)