Ich habe ZIP-Datei (en), die Dateien enthält, deren Dateinamen in einer bestimmten Codierung vorliegen. Angenommen, ich kenne die Kodierung dieser Dateinamen, weiß aber noch nicht, wie ich sie richtig dekomprimieren soll.
Es folgt ein Beispieldatei enthält es eine Datei "【SSK字幕组】 The Vampire Diaries吸血鬼日记S06E12.ass"
Ich weiß, dass die verwendete Kodierung GB18030 ist (Chinesisch)
Die Frage ist, wie man diese Datei in FreeBSD mit unzip oder einem anderen CLI-Dienstprogramm entpackt, um den richtigen kodierten Dateinamen zu erhalten. Ich habe alles versucht, was ich konnte, aber das Ergebnis war nie gut. Bitte helfen Sie.
Ich habe es mit OSX versucht:
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!
Ich habe es mit unzip ähnlich versucht, aber ich bekomme ein ähnliches Problem.
Danke, probiere jetzt FREE BSD aus, bei dem ich eine Verbindung über SSH von OSX (Terminal) herstelle:
# locale
LANG=
LC_CTYPE="C"
LC_COLLATE="C"
LC_TIME="C"
LC_NUMERIC="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_ALL=C
Das erste, was ich möchte, ist, chinesische Namen zu zeigen. ich habe mich verändert
setenv LC_ALL zh_CN.GB18030
setenv LANG zh_CN.GB18030
Dann habe ich die Datei heruntergeladen und versuche "ls" um richtige Charaktere zu sehen, aber kein Glück. Ich denke, ich muss zuerst das chinesische Gebietsschema lösen, um zu überprüfen, ob ich das richtige Ergebnis erhalte. Eigentlich kann ich es vergleichen. Kannst du mir bitte auch dabei helfen?