Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Неверная кодировка в zip-архивах  (Прочитано 45941 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн romeg

  • Автор темы
  • Новичок
  • *
  • Сообщений: 35
    • Просмотр профиля
Неверная кодировка в zip-архивах
« : 08 Ноября 2009, 14:42:41 »
Ubuntu 9.10, настройки по умолчанию, система установлена с нуля, русский язык.
При открытии zip-фрхивов, сделанных в Windows, оторражаются крякозябры (в  file-roller).
Другие графические архиваторы дают тоже замое (xarchiver, ark)
В консоли команда unzip -l <file.zip> выдает знаки вопроса (?????) вместо имен файлов на русском языке.
Пробовал разные варианты установить локаль (LANG=ru_RU.CP1251 или LC_ALL=ru_RU.CP1251) перед вызовом unzip, file-roller и т д. - не помогает

Как победить?

Вот результат команды locale
~$ locale
LANG=ru_RU.utf8
LANGUAGE=ru_RU.utf8
LC_CTYPE="ru_RU.utf8"
LC_NUMERIC="ru_RU.utf8"
LC_TIME="ru_RU.utf8"
LC_COLLATE="ru_RU.utf8"
LC_MONETARY="ru_RU.utf8"
LC_MESSAGES="ru_RU.utf8"
LC_PAPER="ru_RU.utf8"
LC_NAME="ru_RU.utf8"
LC_ADDRESS="ru_RU.utf8"
LC_TELEPHONE="ru_RU.utf8"
LC_MEASUREMENT="ru_RU.utf8"
LC_IDENTIFICATION="ru_RU.utf8"
LC_ALL=ru_RU.utf8

Оффлайн VinnyPooh

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 2577
  • В работе
    • Просмотр профиля
    • Linux для чайников (пых-пых)
Re: Неверная кодировка в zip-архивах
« Ответ #1 : 08 Ноября 2009, 14:53:49 »
https://bugs.launchpad.net/ubuntu/+source/file-roller/+bug/177929

Багу уже 2 года. Регистрируешься на LP пишешь туда аля "и меня это бесит тоже, поправьте, пожалуйста", может и поправят.
Чем больше воплей будет, тем лучше.
Это гномовское приложение, можно написать ещё и им.
ЗЫ. Можно пользоваться гуглевским переводчиком, если с языком туго.

Победить можно установив, например, 7zip в Wine и открывать через него. Да это дурдом) но работает.

Оффлайн romeg

  • Автор темы
  • Новичок
  • *
  • Сообщений: 35
    • Просмотр профиля
Re: Неверная кодировка в zip-архивах
« Ответ #2 : 08 Ноября 2009, 15:18:13 »
Понятно, ссылка - это баг file-roller, но как же другие архиваторы? В них все тоже самое.
Пробовал еще:
- в контекстном меню выбрать "подсоединить архив" (работает через gvfs)
- использовать  mountavfs

Все равно крякозябры в русских windows-архивах.

Вероятно, эта проблема выходит за рамки file-roller

Оффлайн VinnyPooh

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 2577
  • В работе
    • Просмотр профиля
    • Linux для чайников (пых-пых)
Re: Неверная кодировка в zip-архивах
« Ответ #3 : 08 Ноября 2009, 15:45:14 »
Видимо да, но если бы была возможность выбрать кодировку архива, то такая проблема наверное бы исчезла.
Всё же стоит там отписать, чем будет больше желающих, тем проблема быстрее стронется.

Оффлайн genrich

  • Участник
  • *
  • Сообщений: 179
    • Просмотр профиля
Re: Неверная кодировка в zip-архивах
« Ответ #4 : 08 Ноября 2009, 17:33:02 »
Попробуй peazip. Там такого не замечал, с кодировками вроде бы все нормально.

Оффлайн VinnyPooh

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 2577
  • В работе
    • Просмотр профиля
    • Linux для чайников (пых-пых)
Re: Неверная кодировка в zip-архивах
« Ответ #5 : 08 Ноября 2009, 17:40:42 »
Не поможет. Вся проблема в том, что архиваторы открывают в utf-8 а требуется открывать в Windowsовской кодировке.

Оффлайн romeg

  • Автор темы
  • Новичок
  • *
  • Сообщений: 35
    • Просмотр профиля
Re: Неверная кодировка в zip-архивах
« Ответ #6 : 08 Ноября 2009, 17:54:45 »
да, действительно, peazip тоже некорректно отображает кириллицу - пробовал

Оффлайн Nebulosa

  • Активист
  • *
  • Сообщений: 397
    • Просмотр профиля
Re: Неверная кодировка в zip-архивах
« Ответ #7 : 08 Ноября 2009, 17:58:13 »
Дело в том, что сам формат Zip не отслеживает кодировки имен файлов и потому не рекомендуется для использования если речь идет о разных платформах, вместо этого используйте 7zip.
Кстати:
$ unzip --help
UnZip 6.00 of 20 April 2009,
...
  -O CHARSET  specify a character encoding for DOS, Windows and OS/2 archives
  -I CHARSET  specify a character encoding for UNIX and other archives
Вручную надо выставлять.
« Последнее редактирование: 08 Ноября 2009, 18:00:09 от Nebulosa »

Оффлайн VinnyPooh

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 2577
  • В работе
    • Просмотр профиля
    • Linux для чайников (пых-пых)
Re: Неверная кодировка в zip-архивах
« Ответ #8 : 08 Ноября 2009, 18:08:22 »
Кстати:
$ unzip --help
UnZip 6.00 of 20 April 2009,
...
  -O CHARSET  specify a character encoding for DOS, Windows and OS/2 archives
  -I CHARSET  specify a character encoding for UNIX and other archives
Вручную надо выставлять.

Хм, ввёл эту же команду, что то в хелпе этого не увидел.

Оффлайн Deathrose

  • Участник
  • *
  • Сообщений: 167
    • Просмотр профиля
Re: Неверная кодировка в zip-архивах
« Ответ #9 : 08 Ноября 2009, 18:08:45 »
еще можно попробвать запустить с нужной локалью и кодировкой например LOCALE="ru_RU.cp1251"

Оффлайн dimas000

  • Старожил
  • *
  • Сообщений: 1437
  • Ubuntu 9.10 @ 2.6.34
    • Просмотр профиля
Re: Неверная кодировка в zip-архивах
« Ответ #10 : 08 Ноября 2009, 19:00:54 »
присоединяюсь! та же самая фигня... на лаунчпаде не зареген, так что морально поддерживаю вопли тут)))
+есть неправильный выход - загрузиться где-нибудь в винду и перепаковать в 7z или rar какой-нибдуь... или вообще не паковать...
лучше на "ты"

Оффлайн romeg

  • Автор темы
  • Новичок
  • *
  • Сообщений: 35
    • Просмотр профиля
Re: Неверная кодировка в zip-архивах
« Ответ #11 : 08 Ноября 2009, 19:10:27 »
Цитировать
еще можно попробвать запустить с нужной локалью и кодировкой например LOCALE="ru_RU.cp1251"
пробовал (см. самый первый пост) - безрезультатно

Оффлайн VinnyPooh

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 2577
  • В работе
    • Просмотр профиля
    • Linux для чайников (пых-пых)
Re: Неверная кодировка в zip-архивах
« Ответ #12 : 08 Ноября 2009, 21:03:05 »
Кстати:
$ unzip --help
UnZip 6.00 of 20 April 2009,
...
  -O CHARSET  specify a character encoding for DOS, Windows and OS/2 archives
  -I CHARSET  specify a character encoding for UNIX and other archives
Вручную надо выставлять.

Кстати, так этого и не нашёл и не получается с этой опцией разархивить, откуда всё же это?


Оффлайн romeg

  • Автор темы
  • Новичок
  • *
  • Сообщений: 35
    • Просмотр профиля
Нашел решение проблемы, в обход file-roller.

1) качаем пакет fuse-rar и устанавливаем его
(например отсюда https://launchpad.net/~sikon/+archive/ppa/+files/fuse-zip_0.2.2-0ubuntu1~hardy1~ppa1_i386.deb

2) Создаем в домашнем каталоге папку ~/.ZIP

3) делаем такой скрипт:
#! /bin/bash
fusermount -u ~/.ZIP
fuse-zip "$1" .ZIP -omodules=iconv,from_code=CP866,to_code=UTF8
nautilus ~/.ZIP
xrefresh -white

его можно поместить куда угодно: в домашнюю папку, либо в .gnome2/nautilus-scripts, где обычно живут скрипты наутилуса.
Не забыть в свойствах файла сделать его исполняемым.

4) Назначить на ZIP-архивы открывать их с помощью этого скрипта.

После этого ZIP-архивы, сделанные в Windows, будут правильно открываться. Более того, их даже нет необходимости разархивировать - все работает как из обычной папки, в режиме чтение-запись.

Может быть кривовато, зато железно. Если у кого-то найдется более элегантное решение, пишите.

P.S. "Обратная сторона" - родные, сделанные в Ubuntu архивы в этом скрипте открываются неправильно. Но можно сделать другой скрипт, вообще опустив опции кодировок - тогда будет все ок.

Оффлайн VinnyPooh

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 2577
  • В работе
    • Просмотр профиля
    • Linux для чайников (пых-пых)
Re: Неверная кодировка в zip-архивах
« Ответ #14 : 08 Ноября 2009, 22:19:32 »
Костыль конечно )) но реально спасибо, завтра потестю

 

Страница сгенерирована за 0.044 секунд. Запросов: 23.