Re: Распаковывать ZIP с русскими именами

2008-09-08 Пенетрантность Yuri Kozlov
8 сентября 2008 г. 11:45 пользователь Покотиленко Костик
[EMAIL PROTECTED] написал:
  Это всё хорошо, а баги надо чинить...

 Каким образом? Как я понимаю, в zip-формате не задаётся кодировка
 символов имён файлов.
 А полагаться на угадывание -- ни есть чинить баг.

 В таких случая принято встраивать возможность ручного указания
 кодировки.

Официальный костыль?
Я, конечно, не против, но это не поможет людям, которым нужно просто
распаковать архив, а не изучать кодировки.

-- 
Regards,
Yuri Kozlov


Re: Распаковывать ZIP с русскими именами

2008-09-07 Пенетрантность Serhiy Storchaka
Victor Wagner wrote:
 Вопрос  в том, насколько гибка поддержка виртуальных файловых систем в
 исполюьзуемом твоей женой GUI-шном файл-менеджере. В старом-добром mс
 подправить скрипт vfs/zip на основании сведений, приведенных в треде -
 дело получаса.

Кстати, а нет ли у кого уже готового скрипта? Потому как собираюсь сейчас
такое наваять (ибо достало).


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Распаковывать ZIP с русскими именами

2008-09-07 Пенетрантность chaos
В сообщении от 5 сентября 2008 19:52 Aleksey Cheusov написал(a):
  Да, пробежаться в конце тем - же convmv мне например никто не
  мешает, однако вот с ( как упомятул и автор изначального поста )
  супругой проблемы. Ну как-то не очень ей идёт все эти командные
  строки :)

 fuse-convmvfs как вариант. Сделать папочку куда сбрасывать ваши
 дрянные виндозные zip-ы :-)

идея, надо таки туда шлянуть

-- 
Роя другому яму - делаешь себе холмик.
-- Евгений Кащеев


Re: Распаковывать ZIP с русскими именами

2008-09-07 Пенетрантность chaos
В сообщении от 5 сентября 2008 18:25 Artem Chuprina написал(a):
 Mikhail Ramendik - debian-russian@lists.debian.org  @ Thu, 4 Sep 2008 
22:59:41 +0100:
   работы с архивами zip для любимого скриптового языка. Благо, оно для
   всех есть. В Tcl-ный zipvfs я сегодня уже залез. Потребовалось две
   строчки поправить, чтобы научить его корректно работать с любой
   указанной кодировкой имен файлов.
  
   Думаю что с перловым Archive::Zip то же самое будет.

  MR Я на перле не умею, умею на sудаффе/s питоне. Там вроде как
  MR есть PyZipFile. Но это ж ещё GUI рисовать.

  MR Странно, что нет общепринятого решения - проблема-то явно давно
  MR известная.

 Как обычно - тем, кто может поправить, оно не надо, а тех, кто не может
 - жаба душит. 

Ага, классное животное, передушило уже большую половину населения планеты :)

-- 
Когда подумаешь, что есть настолько смелые мужчины, что смотрят в лицо 
женщине,
подходят к ней, жмут ей руку и без ужаса говорят: Хотите... быть моей 
женой?,
- то нельзя не удивляться тому, до чего доходит человеческая отвага.
-- (Стендаль


Re: Распаковывать ZIP с русскими именами

2008-09-05 Пенетрантность Yuri Kozlov
5 сентября 2008 г. 22:56 пользователь Покотиленко Костик
[EMAIL PROTECTED] написал:
 Так это я к чему.

 find dir -type f |
 while read f; do
   mv $f `echo $f | iconv -f koi8-r -t cp1251`
 done

 Ну как-то так.

 Это всё хорошо, а баги надо чинить...

Каким образом? Как я понимаю, в zip-формате не задаётся кодировка
символов имён файлов.
А полагаться на угадывание -- ни есть чинить баг.

-- 
Regards,
Yuri Kozlov


Re: Распаковывать ZIP с русскими именами

2008-09-04 Пенетрантность Vladimir Krivitsky
00:15 Thu 04 Sep , Mikhail Ramendik написал:
 Всем привет!
 
 Устаовлен etch, локаль koi8-r. Супруга качает zip-ы, внутри которых файлы с
 русскими именами, запакованные в виндах (вероятно CP1251? или UTF8?). И ей
 нужно файлы распаковывать, причём желательно в GUI. И получать те же русские
 имена
 
 Вопрос - как бы это сделать?
 
 -- 
 Yours, Mikhail Ramendik

После распаковки
convmv -r -f cp1252 -t cp850 * --notest; convmv -r -f cp866 * --notest


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Распаковывать ZIP с русскими именами

2008-09-04 Пенетрантность Sergei Stolyarov
Artem Chuprina - debian-russian@lists.debian.org @ Thursday 04 September 2008:

AC Evgeny Yugov - debian-russian@lists.debian.org  @ Thu, 04 Sep 2008 
09:53:21 
+0700:
AC 
AC  EY Забыть про КОИ8-Р (как про страшный сон), заменить на CP1251 или в 
конце
AC  EY концов на UTF8 ;-)
AC 
AC Про cp1251 надо забыть как про еще более страшный сон.  Там, кстати, и
AC 866 может оказаться...

Мне там практически всегда CP866 и попадался.

-- 
Sergei Stolyarov


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Распаковывать ZIP с русскими именами

2008-09-04 Пенетрантность Mikhail A Antonov
,--[Vladimir Krivitsky 04/09/2008 11:01 (GMT +3)
|  После распаковки
|  convmv -r -f cp1252 -t cp850 * --notest; convmv -r -f cp866 * --notest
`-
На первый взляд - руки чешутся * заменить на ./*

-- 
Best regards,
 Mikhail


signature.asc
Description: This is a digitally signed message part.


Re: Распаковывать ZIP с русскими именами

2008-09-04 Пенетрантность Mikhail Ramendik
On 04/09/2008, Artem Chuprina [EMAIL PROTECTED] wrote:


 EY Забыть про КОИ8-Р (как про страшный сон), заменить на CP1251 или в
 конце
 EY концов на UTF8 ;-)

 Про cp1251 надо забыть как про еще более страшный сон.  Там, кстати, и
 866 может оказаться...


А переход на UTF8 поможет? Если да - как перевести на UTF8 etch, который
работает уже давно и вообще  в своё время поднят с sarge?




-- 
Yours, Mikhail Ramendik


Re: Распаковывать ZIP с русскими именами

2008-09-04 Пенетрантность Mikhail Ramendik
On 04/09/2008, Vladimir Krivitsky [EMAIL PROTECTED] wrote:

 После распаковки
 convmv -r -f cp1252 -t cp850 * --notest; convmv -r -f cp866 * --notest



Оно конечно спасибо, но супруга в командной строке не распаковывает... Ни к
одному GUI распаковщику нормальная работа с такими кодировками не
прикручивается?

-- 
Yours, Mikhail Ramendik


Re: Распаковывать ZIP с русскими именами

2008-09-04 Пенетрантность Victor Wagner
On 2008.09.04 at 00:15:55 +0100, Mikhail Ramendik wrote:

 
Всем привет!
Устаовлен etch, локаль koi8-r. Супруга качает zip-ы, внутри которых
файлы с русскими именами, запакованные в виндах (вероятно CP1251? или

Ну где ты в виндовой файловой системе CP1251 видел? CP866 там.
А у инфозиповского unzip-а есть дополнительная глюка. Он счтитает, что
все 8-битные символы в именах файлов в zip-архиве - в какой-то
определенной codepage (852 чтоли) и при распаковке перекодирует их в
iso8859-1.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Распаковывать ZIP с русскими именами

2008-09-04 Пенетрантность Andrey Vasilenko
Может PeaZip подойдёт? Помню как-то пользовался для удобной навигации по
многогигабайтному архивчику и распаковке. Сейчас проверил, с кириллицей в
архивах по дефолту не дружит. Может есть решение, не знаю. Почему говорю про
него, просто достаточно функционален и с достаточно неплохим фронтендом.
http://peazip.sourceforge.net/

4 сентября 2008 г. 13:04 пользователь Mikhail Ramendik [EMAIL 
PROTECTED]написал:


 On 04/09/2008, Vladimir Krivitsky [EMAIL PROTECTED] wrote:

 После распаковки
 convmv -r -f cp1252 -t cp850 * --notest; convmv -r -f cp866 * --notest



 Оно конечно спасибо, но супруга в командной строке не распаковывает... Ни к
 одному GUI распаковщику нормальная работа с такими кодировками не
 прикручивается?

 --
 Yours, Mikhail Ramendik



Re: Распаковывать ZIP с русскими именами

2008-09-04 Пенетрантность Mikhail Ramendik
On 04/09/2008, Victor Wagner [EMAIL PROTECTED] wrote:

 On 2008.09.04 at 00:15:55 +0100, Mikhail Ramendik wrote:

 
 Всем привет!
 Устаовлен etch, локаль koi8-r. Супруга качает zip-ы, внутри которых
 файлы с русскими именами, запакованные в виндах (вероятно CP1251? или

 Ну где ты в виндовой файловой системе CP1251 видел? CP866 там.


Ясно. А разархивировать-то в результате как? Ругаться на корректность
архивирования бесполезно - нотный архив Тараканова меня не послушает.

-- 
Yours, Mikhail Ramendik


Re: Распаковывать ZIP с русскими именами

2008-09-04 Пенетрантность Victor Wagner
On 2008.09.04 at 13:23:27 +0100, Mikhail Ramendik wrote:

 
On 04/09/2008, Victor Wagner [EMAIL PROTECTED] wrote:
 
  On 2008.09.04 at 00:15:55 +0100, Mikhail Ramendik wrote:
  
  Всем привет!
  Устаовлен etch, локаль koi8-r. Супруга качает zip-ы, внутри
  которых
  файлы с русскими именами, запакованные в виндах (вероятно
  CP1251? или
  Ну где ты в виндовой файловой системе CP1251 видел? CP866 там.
 
 
Ясно. А разархивировать-то в результате как? Ругаться на корректность

Тут уже приводили несколько вариантов скрипта, который делает распаковку
с перекодировкой.

Вопрос  в том, насколько гибка поддержка виртуальных файловых систем в
исполюьзуемом твоей женой GUI-шном файл-менеджере. В старом-добром mс
подправить скрипт vfs/zip на основании сведений, приведенных в треде -
дело получаса.




архивирования бесполезно - нотный архив Тараканова меня не послушает.
 
--
Yours, Mikhail Ramendik
 
 Ссылки
 
1. mailto:[EMAIL PROTECTED]


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Распаковывать ZIP с русскими именами

2008-09-04 Пенетрантность Nicholas

   Ясно. А разархивировать-то в результате как? Ругаться на корректность



Интересно, если распаковывать архив на фаловой системе (например на 
флешке), подмонтированной с параметрами приведеными ниже - это может 
делу помочь ?


cat /etc/fsbab
...
UUID=- /mnt/flash vfat 
user,noauto,defaults,umask=111,dmask=000,codepage=866,iocharset=koi8-r 0 1


--
Sincerely,
Nicholas


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Распаковывать ZIP с русскими именами

2008-09-04 Пенетрантность Mikhail Ramendik
On 04/09/2008, Victor Wagner [EMAIL PROTECTED] wrote:


 Вопрос  в том, насколько гибка поддержка виртуальных файловых систем в
 исполюьзуемом твоей женой GUI-шном файл-менеджере. В старом-добром mс
 подправить скрипт vfs/zip на основании сведений, приведенных в треде -
 дело получаса.


Файлы открываются из iceweasel, который их скачивает. Использовать мы сможем
что угодно, при условии, что к iceweasel можно как-то прикрутить открывание
ZIP по умолчанию именно этим. Поэтому речь пока что идёт о менеджерах
архивов, а не о собственно VFS.

Настроенный GUI файлменеджер есть - gnome-commander (тяжеловат, но всё
остальное что нашли в etch как-то странно работало). На самый крайняк,
конечно, я могу сказать ей зипы не открывать, а сохранять и потом находить в
gnome-commander, и прикрутить в его меню автораспаковку zip-файла в
директорию с тем же именем и перекодировку. Но это именно на крайняк,
поскольку добавляет ещё одну долгую операцию (поиск свежескачанного файла в
списке).

Мне что, самописный archive manager сочинять только ради кодировок? Я
конечно могу, вывод zip парсить несложно, но это по-моему перебор.

-- 
Yours, Mikhail Ramendik


Re: Распаковывать ZIP с русскими именами

2008-09-04 Пенетрантность Alexander GQ Gerasiov
На Thu, 4 Sep 2008 00:15:55 +0100
Mikhail Ramendik [EMAIL PROTECTED] записано:

 Всем привет!
 
 Устаовлен etch, локаль koi8-r. Супруга качает zip-ы, внутри которых
 файлы с русскими именами, запакованные в виндах (вероятно CP1251? или
 UTF8?). И ей нужно файлы распаковывать, причём желательно в GUI. И
 получать те же русские имена
 
 Вопрос - как бы это сделать?
Некрасивый, но работающий, способ:
https://bugzilla.altlinux.org/show_bug.cgi?id=4871

Пакет:
http://lvk.cs.msu.su/~gq/debian/unzip_5.52-9etch1.1_i386.deb

-- 
Best regards,
 Alexander GQ Gerasiov

 Contacts:
 e-mail:[EMAIL PROTECTED] Jabber:  [EMAIL PROTECTED]
 Homepage:  http://gq.net.ru ICQ: 7272757
 PGP fingerprint: 0628 ACC7 291A D4AA 6D7D  79B8 0641 D82A E3E3 CE1D


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Распаковывать ZIP с русскими именами

2008-09-04 Пенетрантность chaos
В сообщении от 4 сентября 2008 05:53 Evgeny Yugov написал(a):
 Здравствуйте.

 Забыть про КОИ8-Р (как про страшный сон), заменить на CP1251 или в конце
 концов на UTF8 ;-)
 В противном случае, после распаковки пробежаться чем нибудь типа convmv...

Я к примеру имею utf-8, однако зипы с русскими именами имеют cp1251. Да, 
пробежаться в конце тем - же convmv мне например никто не мешает, однако вот 
с ( как упомятул и автор изначального поста ) супругой проблемы. Ну как-то не 
очень ей идёт все эти командные строки :) 

Как временное решение, сделал её папочку, в которую она складывает все свои 
архивы и скриптик с иконочкой на рабочем столе, который распаковывает и 
прогоняет сверху convmv по всей этой папке.

-- 
Глупость становится впереди, чтобы ее видели; ум становится позади, 
чтобы видеть.
-- Кармен Сильва


Re: Распаковывать ZIP с русскими именами

2008-09-04 Пенетрантность Alexander GQ Gerasiov
На Thu, 04 Sep 2008 20:16:30 +0400
San_Sanych [EMAIL PROTECTED] записано:

 Alexander GQ Gerasiov пишет:
  На Thu, 4 Sep 2008 00:15:55 +0100
  Mikhail Ramendik [EMAIL PROTECTED] записано:
 

  Всем привет!
 
  Устаовлен etch, локаль koi8-r. Супруга качает zip-ы, внутри которых
  файлы с русскими именами, запакованные в виндах (вероятно CP1251?
  или UTF8?). И ей нужно файлы распаковывать, причём желательно в
  GUI. И получать те же русские имена
 
  Вопрос - как бы это сделать?
  
  Некрасивый, но работающий, способ:
  https://bugzilla.altlinux.org/show_bug.cgi?id=4871
 
  Пакет:
  http://lvk.cs.msu.su/~gq/debian/unzip_5.52-9etch1.1_i386.deb
 

 может проще содать у юзера в домашней директории скрипт unzip с
 содержанием:
 
 #!/bin/bash
 unzip -Z1 filename.zip | iconv -f cp1252 -t cp850 | iconv -f cp866
 
 ну и PATH должен начинаться с $HOME/bin
Извини, а что тебе даст вывод перекодированного списка имен?

Более того, этот способ (с оберткой) не поможет (или будет сильно не
тривиальный) в случае, когда требуется корректная работа фронтэндов (а
топикстартеру это важно).

-- 
Best regards,
 Alexander GQ Gerasiov

 Contacts:
 e-mail:[EMAIL PROTECTED] Jabber:  [EMAIL PROTECTED]
 Homepage:  http://gq.net.ru ICQ: 7272757
 PGP fingerprint: 0628 ACC7 291A D4AA 6D7D  79B8 0641 D82A E3E3 CE1D


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Распаковывать ZIP с русскими именами

2008-09-04 Пенетрантность Victor Wagner
On 2008.09.04 at 16:05:34 +0100, Mikhail Ramendik wrote:

Мне что, самописный archive manager сочинять только ради кодировок? Я
конечно могу, вывод zip парсить несложно, но это по-моему перебор.

А не надо парсить вывод zip. Нужно взять более-менее готовый модуль
работы с архивами zip для любимого скриптового языка. Благо, оно для
всех есть. В Tcl-ный zipvfs я сегодня уже залез. Потребовалось две
строчки поправить, чтобы научить его корректно работать с любой
указанной кодировкой имен файлов.

Думаю что с перловым Archive::Zip то же самое будет.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Распаковывать ZIP с русскими именами

2008-09-04 Пенетрантность Mikhail Ramendik
On 04/09/2008, Victor Wagner [EMAIL PROTECTED] wrote:

А не надо парсить вывод zip. Нужно взять более-менее готовый модуль
 работы с архивами zip для любимого скриптового языка. Благо, оно для
 всех есть. В Tcl-ный zipvfs я сегодня уже залез. Потребовалось две
 строчки поправить, чтобы научить его корректно работать с любой
 указанной кодировкой имен файлов.

 Думаю что с перловым Archive::Zip то же самое будет.


Я на перле не умею, умею на sудаффе/s питоне. Там вроде как есть
PyZipFile. Но это ж ещё GUI рисовать.

Странно, что нет общепринятого решения - проблема-то явно давно известная.



-- 
Yours, Mikhail Ramendik


Re: Распаковывать ZIP с русскими именами

2008-09-03 Пенетрантность Evgeny Yugov
Здравствуйте.

Забыть про КОИ8-Р (как про страшный сон), заменить на CP1251 или в конце
концов на UTF8 ;-)
В противном случае, после распаковки пробежаться чем нибудь типа convmv...

Mikhail Ramendik пишет:
 Всем привет!
 
 Устаовлен etch, локаль koi8-r. Супруга качает zip-ы, внутри которых файлы с
 русскими именами, запакованные в виндах (вероятно CP1251? или UTF8?). И ей
 нужно файлы распаковывать, причём желательно в GUI. И получать те же русские
 имена
 
 Вопрос - как бы это сделать?
 

-- 
Здесь могла быть ваша реклама...


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Распаковывать ZIP с русскими именами

2008-09-03 Пенетрантность Sergei Stolyarov

Evgeny Yugov - debian-russian@lists.debian.org @ Thursday 04 September 2008:

EY Здравствуйте.
EY 
EY Забыть про КОИ8-Р (как про страшный сон), заменить на CP1251 или в конце
EY концов на UTF8 ;-)
EY В противном случае, после распаковки пробежаться чем нибудь типа convmv...

Если использовать unzip, то не поможет ни convmv, ни смена локали. 
Гарантированно 
надёжный способ — это использовать для распаковки 7z, и только потом convmv.

-- 
Sergei Stolyarov


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Распаковывать ZIP с русскими именами

2008-09-03 Пенетрантность Gmail.com
-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]