Я получил zip-файл от японского клиента.
Когда я пытаюсь разархивировать его, файл и имена папок испорчены:
$ unzip ~/Downloads/【新入荷ECM】資料.zip
...
inflating: БyРVУ№Й╫ECMБzОСЧ┐/123_ГЖБ[ГXГPБ[ГX.xlsx
Какова проблема, и как избежать его?
Проблема состоит в том, что большинству ZIP, циркулирующих в Японии, закодировали их содержание Shift JIS, который не показывают правильно по умолчанию на Ubuntu.
Решение состоит в том, чтобы использовать -O shift-jis
опция в Вашей команде:
$ unzip -O shift-jis ~/Downloads/【新入荷ECM】資料.zip
...
inflating: 【新入荷ECM】資料/123_ユースケース.xlsx
Таким образом, расширенные файлы совершенно читаемы в Ubuntu.
Простой ответ для этого
$ sudo apt install unar
$ unar ~/Downloads/【新入荷ECM】資料.zip
unar может автоматически распознать, какое кодирование используется. Это только извлекает а не для сжатия.
Затем используйте 'convmv' для кодирования текста после извлечения.
$ convmv -f shift_jis -t utf8 БyРVУ№Й╫ECMБzОСЧ┐/123_ГЖБ[ГXГPБ[ГX.xlsx --notest
Наоборот, если требуется создать файл (файлы) из utf8 в shift_jis текст для окон.
$ convmv -f utf8 -t shift_jis <filename> --notest
Альтернативные ответы, использование созданного автоматического кодирования команды японца Ubuntu 'разархивировало', но необходимо добавить репозиторий.