我得到了ZIP文件,其中包含文件,文件名采用某种编码。假设我知道这些文件名的编码,但是我仍然不知道如何正确解压缩它们。
这是示例文件,其中包含一个文件“【SSK字幕组】吸血鬼日记吸血鬼日记S06E12.ass”
我知道使用的编码是GB18030(中文)
问题是-如何使用unzip或其他CLI实用工具在FreeBSD中解压缩该文件以获取正确的编码文件名?我尽了我所能,但结果却永远不好。请帮忙。
我在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!
我尝试用解压缩进行类似操作,但出现类似问题。
谢谢,现在尝试使用免费的BSD,我在OSX(终端)上使用SSH进行连接:
# 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”查看正确的字符,但不走运。因此,我认为我必须先解决中文语言环境,才能验证何时获得正确的结果,实际上我可以进行比较。您还能帮我吗?