Возможно, проблема не в модуле.Это помогает свести проблемный код к минимуму, и в этом случае это может быть следующим:
const path = require('path');
const extract = require('extract-zip');
const file_unzip = 'test.zip';
extract(path.join(__dirname, file_unzip), {dir: __dirname}, function (err) {
if (err) {
console.log(err);
}
});
После помещения этого в index.js и установки extract-unzip возможен тестовый пример с тем же каталогомв баш.Выведите корейские символы в файл и убедитесь, что они там есть:
$echo 안녕하세요>test
$cat test
안녕하세요
Заархивируйте файл, удалите оригинал и убедитесь, что он пропал:
$zip test.zip test
adding: test (stored 0%)
$rm test
$ls test*
test.zip
Запустите скрипт и посмотритечто файл извлечен и содержит те же символы:
$node index.js
$ls test*
test test.zip
$cat test
안녕하세요
Я получил те же результаты с символами из нескольких других языков.Поэтому, по крайней мере, в этой настройке модуль распаковывается без изменения символов во внутренних файлах. Попробуйте выполнить те же тесты в своей системе и внимательно посмотрите, что происходит до распаковки. Могут возникнуть проблемы с тем, как файлы генерируются, кодируются, архивируются или загружаются.Исследуйте один шаг за раз.