nodejs adm-zip解凍ファイルの中国語ファイル名の文字化け問題は解決します.

514 ワード

nodeJs白、最近のプロジェクトはnodeJsを使って、adm-zip解凍ファイルの中国語のファイル名が文字化けしていることを発見しました.
  修正にはiconv-liteパッケージ(npmインストールでOK)を使用し、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;//