Aqui está o que eu faço no Ubuntu 16.04 para descompactar um zip em qualquer codificação, desde que eu saiba o que é essa codificação. O mesmo método deve funcionar no FreeBSD porque ele depende apenas da ferramenta unzip amplamente disponível.
-
Eu verifiquei o nome exato da codificação para não cometer erros de ortografia: link
-
Eu simplesmente corro
$ unzip -O <encoding> <filename> -d <target_dir>ou
$ unzip -I <encoding> <filename> -d <target_dir>escolhendo entre
-Oou-Ide acordo com as instruções aqui:$ unzip -h UnZip 6.00 of 20 April 2009, by Debian. Original by Info-ZIP. ... -O CHARSET specify a character encoding for DOS, Windows and OS/2 archives -I CHARSET specify a character encoding for UNIX and other archives ...o que significa que eu simplesmente tento
-Oe isso deve funcionar, porque muitas pessoas não criariam um arquivo.zipno Unix ...
Então, para o seu exemplo específico:
-
O nome exato da codificação é
GB18030. -
Eu uso o sinalizador
-Oe:$ unzip -O GB18030 gb18030.zip -d target_dir Archive: gb18030.zip creating: target_dir/【SSK字幕组】The Vampire Diaries 吸血鬼日记S06E12/ inflating: target_dir/【SSK字幕组】The Vampire Diaries 吸血鬼日记S06E12/【SSK字幕组】The Vampire Diaries 吸血鬼日记S06E12.ass... funciona.
