nodejs adm-zip 解壓文件 中文文件名亂碼 問題解決


 修改需要使用到iconv-lite包 (npm安裝即可),修改 zipEntry.js 文件中的 entryName 方法

var iconv = require('iconv-lite');

var nameTemp = iconv.decode(val, 'GBK');// 新增
_entryName = Utils.toBuffer(val);
var lastChar = _entryName[_entryName.length - 1];
_isDirectory = (lastChar == 47) || (lastChar == 92);
_entryHeader.fileNameLength = _entryName.length;
_entryName = nameTemp;// 新增

 上面那種方法處理文件名正常了,結果文件內容中文還是亂碼。發現另一個好用的插件

npm install adm-zip-iconv 

使用方法比較簡單比上面那種方法好些。

var zip = new AdmZip("./my_file.zip", "GBK");

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM