Как разархивировать японский zip-файл и избежать mojibake/garbled символов

Я получил zip-файл от японского клиента.

Когда я пытаюсь разархивировать его, файл и имена папок испорчены:

$ unzip ~/Downloads/【新入荷ECM】資料.zip
...
 inflating: БyРVУ№Й╫ECMБzОСЧ┐/123_ГЖБ[ГXГPБ[ГX.xlsx

Какова проблема, и как избежать его?

5
задан 11 July 2017 в 18:00

2 ответа

Проблема состоит в том, что большинству ZIP, циркулирующих в Японии, закодировали их содержание Shift JIS, который не показывают правильно по умолчанию на Ubuntu.

Решение состоит в том, чтобы использовать -O shift-jis опция в Вашей команде:

$ unzip -O shift-jis ~/Downloads/【新入荷ECM】資料.zip
...
 inflating: 【新入荷ECM】資料/123_ユースケース.xlsx

Таким образом, расширенные файлы совершенно читаемы в Ubuntu.

7
ответ дан 23 November 2019 в 08:54

Простой ответ для этого

$ 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 'разархивировало', но необходимо добавить репозиторий.

2
ответ дан 23 November 2019 в 08:54

Другие вопросы по тегам:

Похожие вопросы: