Я получил ZIP-файл (ы), который содержит файлы, имена файлов в какой-то кодировке. Допустим, я знаю кодировку этих имен файлов, но я все еще не знаю, как правильно распаковать их.
Вот пример файла, он содержит один файл "【SSK 字幕 组】 Дневники вампира 吸血鬼 日记 S06E12.ass"
Я знаю, что используется кодировка GB18030 (китайский)
Вопрос - как распаковать этот файл во FreeBSD с помощью unzip или другой утилиты CLI, чтобы получить правильное закодированное имя файла? Я перепробовал все, что мог, но результат никогда не был хорошим. Пожалуйста помоги.
Я пробовал на OSX:
MBP1:test 2ge$ bsdtar xf gb18030.zip
MBP1:test 2ge$ ls
%A1%BESSK%D7%D6Ļ%D7顿The Vampire Diaries %CE%FCѪ%B9%ED%C8ռ%C7S06E12/ gb18030.zip
MBP1:test 2ge$ cd %A1%BESSK%D7%D6Ļ%D7顿The\ Vampire\ Diaries\ %CE%FCѪ%B9%ED%C8ռ%C7S06E12/
MBP1:%A1%BESSK%D7%D6Ļ%D7顿The Vampire Diaries %CE%FCѪ%B9%ED%C8ռ%C7S06E12 2ge$ ls
%A1%BESSK%D7%D6Ļ%D7顿The Vampire Diaries %CE%FCѪ%B9%ED%C8ռ%C7S06E12.ass*
MBP1:%A1%BESSK%D7%D6Ļ%D7顿The Vampire Diaries %CE%FCѪ%B9%ED%C8ռ%C7S06E12 2ge$ find . | iconv -f gb18030 -t utf-8
.
./%A1%BESSK%D7%D6L抬%D7椤縏he Vampire Diaries %CE%FC血%B9%ED%C8占%C7S06E12.ass
MBP1:%A1%BESSK%D7%D6Ļ%D7顿The Vampire Diaries %CE%FCѪ%B9%ED%C8ռ%C7S06E12 2ge$ convmv -r -f gb18030 -t utf-8 --notest .
Skipping, already UTF-8: ./%A1%BESSK%D7%D6Ļ%D7顿The Vampire Diaries %CE%FCѪ%B9%ED%C8ռ%C7S06E12.ass
Ready!
Я пробовал подобное с unzip, но я получаю похожую проблему.
Спасибо, теперь примеряю БЕСПЛАТНО BSD, где я подключаюсь по SSH из OSX (Терминал):
# locale
LANG=
LC_CTYPE="C"
LC_COLLATE="C"
LC_TIME="C"
LC_NUMERIC="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_ALL=C
Первым делом я бы хотел правильно показать китайские имена. Я изменился
setenv LC_ALL zh_CN.GB18030
setenv LANG zh_CN.GB18030
Затем я скачал файл и попытался "ls", чтобы увидеть правильные символы, но не удачу. Поэтому я думаю, что мне нужно решить первую китайскую локаль, чтобы проверить, когда я получу правильный результат, на самом деле я могу сравнить его. Можете ли вы помочь мне, пожалуйста, с этим?