ฉันได้รับไฟล์ ZIP ซึ่งมีไฟล์ซึ่งชื่อไฟล์อยู่ในการเข้ารหัสบางส่วน สมมติว่าฉันรู้การเข้ารหัสของชื่อไฟล์เหล่านั้น แต่ฉันก็ยังไม่รู้วิธีการแตกไฟล์อย่างถูกต้อง
นี่คือไฟล์ตัวอย่างประกอบด้วยหนึ่งไฟล์ "【 SSK 字幕字幕组 The Vampire Diaries 吸血鬼日记 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!
ฉันลองคล้ายกับเปิดเครื่องรูด แต่ฉันพบปัญหาที่คล้ายกัน
ขอบคุณตอนนี้ลองฟรี BSD ที่ฉันกำลังเชื่อมต่อโดยใช้ SSH จาก 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
สิ่งแรกที่ฉันต้องการคือการแสดงชื่อภาษาจีนที่เหมาะสม ฉันเปลี่ยน
setenv LC_ALL zh_CN.GB18030
setenv LANG zh_CN.GB18030
จากนั้นฉันดาวน์โหลดไฟล์และลอง "ls" เพื่อดูตัวอักษรที่เหมาะสม แต่ไม่ใช่โชค ดังนั้นฉันคิดว่าฉันต้องแก้ภาษาจีนก่อนเพื่อยืนยันว่าเมื่อฉันได้รับผลลัพธ์ที่ถูกต้องจริง ๆ แล้วฉันสามารถเปรียบเทียบได้ คุณสามารถช่วยฉันด้วยได้ไหม