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


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

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

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 а требуется открывать в виндовсовской кодировке.

Оффлайн 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.058 секунд. Запросов: 22.