Mam pliki ZIP, które zawierają pliki, których nazwy plików są w pewnym stopniu kodowane. Powiedzmy, że znam kodowanie tych nazw plików, ale nadal nie wiem, jak poprawnie je zdekompresować.
Oto przykładowy plik , który zawiera jeden plik „【SSK 字幕 组】 The Vampire Diaries 吸血鬼 日记 S06E12.ass”
Wiem, że używane kodowanie to GB18030 (chiński)
Pytanie brzmi - jak rozpakować ten plik we FreeBSD za pomocą unzip lub innego narzędzia CLI, aby uzyskać odpowiednią zakodowaną nazwę pliku? Próbowałem wszystkiego, co mogłem, ale wynik nigdy nie był dobry. Proszę pomóż.
Próbowałem na 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!
Próbowałem podobnie z rozpakowaniem, ale mam podobny problem.
Dzięki, teraz próbuję na BEZPŁATNEJ BSD, gdzie łączę się za pomocą SSH z OSX (Terminal):
# locale
LANG=
LC_CTYPE="C"
LC_COLLATE="C"
LC_TIME="C"
LC_NUMERIC="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_ALL=C
Pierwszą rzeczą, którą chciałbym, to właściwe pokazywanie chińskich nazwisk. Zmieniłem
setenv LC_ALL zh_CN.GB18030
setenv LANG zh_CN.GB18030
Następnie pobrałem plik i spróbowałem napisać „ls”, aby zobaczyć odpowiednie znaki, ale nie powodzenia. Myślę więc, że muszę rozwiązać pierwsze chińskie ustawienia narodowe, aby sprawdzić, kiedy otrzymam właściwy wynik, właściwie mogę go porównać. Czy możesz mi w tym pomóc?