-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Mikhail Ramendik пишет: > Всем привет! > > Устаовлен etch, локаль koi8-r. Супруга качает zip-ы, внутри которых > файлы с русскими именами, запакованные в виндах (вероятно CP1251? или > UTF8?). И ей нужно файлы распаковывать, причём желательно в GUI. И > получать те же русские имена > > Вопрос - как бы это сделать? > > -- > Yours, Mikhail Ramendik
Помниться там для русского языка двойная перекодировка нужна. Мне помогает такой скрипт: #!/usr/bin/perl foreach $z (@ARGV) { $d = substr($z, 0, -4); $zt = `unzip -d $d $z`; @files = ($zt =~ /(?<=inflating: ).*?(?=\s*$)/mg); &decode_names(@files) } exit; sub decode_names { foreach $i (@_) { $new_name = `echo -n $i | iconv -f cp1252 -t cp850 | iconv -f cp866`; ($i eq $new_name) || rename($i, $new_name); print "\textracted: $new_name\n"; } } - -- Andrey Tataranovich public key: 0x2EE7EF82 key server: x-hkp://pgpkeys.pca.dfn.de -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAki/c4cACgkQ/icmBC7n74IuegCglAGR1wFaJnHgj7DNGCYqOzZ4 yHQAn25k2FAOIAMYrKo+Neb6X4hRXmcF =WAz5 -----END PGP SIGNATURE----- -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]