Русские имена в zip-архивах.

openSUSE, SUSE Linux Enterprise

Модератор: Модераторы разделов

Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Русские имена в zip-архивах.

Сообщение sash-kan »

k0da
да ru_UA-то тут при чём?

а вот по поводу отсутствия в названии локали charmap-а — у тебя есть такая сгенерированная локаль? а какой ты charmap в неё вгенерировал?
или это alias? на какую тогда локаль? точнее — какой charmap у этой локали?

p.s. найдите десять отличий, как говорится:
$ echo ҐґЄєІіЇї | iconv -f cp1251
ҐґЄєІіЇї
т.е. либо у тебя в системе чего-то там с локалями напутано, либо эмпирика в вашем unzip-е маху даёт. третьего варианта не вижу.

p.p.s. вообще те имена, которые можно (удачно) присвоить той же LANG — вещи достаточно условные. и могу называться, в общем, произвольно. без какой-либо связи между строкой и оказываемым ею фактическим эффектом на ту или иную программу.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
k0da
Бывший модератор
Сообщения: 6043
Статус: SuSE QA Engineer
ОС: Factory

Re: Русские имена в zip-архивах.

Сообщение k0da »

системная локаль у меня en_EN.UTF-8
Fury in my eyes, sword on my side
Afro on my head, I'm a black Samurai
Number One, I bring my whole nation alive
Escape death, to become immortalized
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Русские имена в zip-архивах.

Сообщение sash-kan »

k0da писал(а):
12.05.2010 13:33
системная локаль у меня en_EN.UTF-8
из каких составляющих она сгенерирована?

p.s. не берусь утверждать, но что-то мне всегда казалось, что en_EN — deprecated. и британские локальные настройки следует размещать в /usr/share/locale/en_GB
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Русские имена в zip-архивах.

Сообщение sash-kan »

но это, собственно, не важно.
важно то, что локальные настройки _точно_ не должны влиять на ключевую отображаемую информацию (только на подставляемые gettext-ом переводы интерфейсных строк).
вот charmap, насколько я понимаю, программой учитывается. для того, чтобы перекодировать имена из автоопределённой кодировки в ту самую, заданную charmap-ом.

а наиболее важно то, что строки в _одной_и_той_же_ кодировке пересобранный unzip воспринимает (а главное, отображает) по-разному:
k0da писал(а):
11.05.2010 23:03

Код: Выделить всё

Archive:  ru-UTF-8.zip
Length   Method    Size  Ratio   Date   Time   CRC-32    Name
--------  ------  ------- -----   ----   ----   ------    ----
       0  Stored        0   0%  05-11-10 20:33  00000000  ru-UTF-8/
       5  Stored        5   0%  05-11-10 20:33  3bb935c6  ru-UTF-8/абвгдеёжзийклмнопрстуфхцчшщьыъэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЪЫЭЮЯ.txt
…
Archive:  ua-UTF-8.zip
Length   Method    Size  Ratio   Date   Time   CRC-32    Name
--------  ------  ------- -----   ----   ----   ------    ----
       0  Stored        0   0%  05-11-10 20:33  00000000  ua-UTF-8/
       5  Stored        5   0%  05-11-10 20:33  3bb935c6  ua-UTF-8/ҐґЄєІіЇї.txt

Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
k0da
Бывший модератор
Сообщения: 6043
Статус: SuSE QA Engineer
ОС: Factory

Re: Русские имена в zip-архивах.

Сообщение k0da »

Да ето я понимаю. Надо разговаривать с человеком кто ето придумал.
Fury in my eyes, sword on my side
Afro on my head, I'm a black Samurai
Number One, I bring my whole nation alive
Escape death, to become immortalized
Спасибо сказали:
Lazy_Kent
Сообщения: 709
Статус: Ленивый
ОС: openSUSE (Xfce)

Re: Русские имена в zip-архивах.

Сообщение Lazy_Kent »

Всё-таки, у sash-kan какая-то неправильная кодировка в ua строке.

Я изменил текст, стало всё нормально.

Код: Выделить всё

Archive:  ru-CP10007.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
        0  05-12-10 17:46   ru-CP10007/
        5  05-12-10 17:46   ru-CP10007/рстуфх▐цчшщъыьэюяЁёЄєЇїЎў°∙№√·¤■▀АБВГДЕ▌ЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЪЫЭЮЯ.txt
 --------                   -------
        5                   2 files
Archive:  ru-CP1251.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
        0  05-12-10 17:46   ru-CP1251/
        5  05-12-10 17:46   ru-CP1251/абвгдеёжзийклмнопрстуфхцчшщьыъэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЪЫЭЮЯ.txt
 --------                   -------
        5                   2 files
Archive:  ru-CP866.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
        0  05-12-10 17:46   ru-CP866/
        5  05-12-10 17:46   ru-CP866/абвгдеёжзийклмнопрстуфхцчшщьыъэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЪЫЭЮЯ.txt
 --------                   -------
        5                   2 files
Archive:  ru-ISO-8859-5.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
        0  05-12-10 17:46   ru-ISO-8859-5/
        5  05-12-10 17:46   ru-ISO-8859-5/РСТУФХсЦЧШЩЪЫЬЭЮЯабвгдежзиймлкноп°±ІіґµЎ¶·ё№є»јЅѕїАБВГДЕЖЗИЙМКЛНОП.txt
 --------                   -------
        5                   2 files
Archive:  ru-KOI8-R.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
        0  05-12-10 17:46   ru-KOI8-R/
        5  05-12-10 17:46   ru-KOI8-R/абвгдеёжзийклмнопрстуфхцчшщьыъэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЪЫЭЮЯ.txt
 --------                   -------
        5                   2 files
Archive:  ru-KOI8-U.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
        0  05-12-10 17:46   ru-KOI8-U/
        5  05-12-10 17:46   ru-KOI8-U/абвгдеёжзийклмнопрстуфхцчшщьыъэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЪЫЭЮЯ.txt
 --------                   -------
        5                   2 files
Archive:  ru-UTF-8.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
        0  05-12-10 17:46   ru-UTF-8/
        5  05-12-10 17:46   ru-UTF-8/абвгдеёжзийклмнопрстуфхцчшщьыъэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЪЫЭЮЯ.txt
 --------                   -------
        5                   2 files
Archive:  ua-CP1251.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
        0  05-12-10 17:46   ua-CP1251/
        5  05-12-10 17:46   ua-CP1251/абвгґдеєжзиіїйклмнопрстуфхцчшщьюяАБВГҐДЕЄЖЗИІЇЙКЛМНОПРСТУФХЦЧШЩЬЮЯ.txt
 --------                   -------
        5                   2 files
Archive:  ua-KOI8-U.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
        0  05-12-10 17:46   ua-KOI8-U/
        5  05-12-10 17:46   ua-KOI8-U/абвг╜де╓жзи╕╖йклмнопрстуфхцчшщьюяАБВГ╫ДЕ╢ЖЗИ╤╥ЙКЛМНОПРСТУФХЦЧШЩЬЮЯ.txt
 --------                   -------
        5                   2 files
Archive:  ua-UTF-8.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
        0  05-12-10 17:46   ua-UTF-8/
        5  05-12-10 17:46   ua-UTF-8/абвгґдеєжзиіїйклмнопрстуфхцчшщьюяАБВГҐДЕЄЖЗИІЇЙКЛМНОПРСТУФХЦЧШЩЬЮЯ.txt
 --------                   -------
        5                   2 files

У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Русские имена в zip-архивах.

Сообщение sash-kan »

Lazy_Kent писал(а):
12.05.2010 18:05
Всё-таки, у sash-kan какая-то неправильная кодировка в ua строке.
оставьте только уникальные буквы украинского алфавита. сами.

Lazy_Kent писал(а):
12.05.2010 18:05

Код: Выделить всё

Archive:  ua-KOI8-U.zip
  Length     Date   Time    Name
--------    ----   ----    ----
        0  05-12-10 17:46   ua-KOI8-U/
        5  05-12-10 17:46   ua-KOI8-U/абвг╜де╓жзи╕╖йклмнопрстуфхцчшщьюяАБВГ╫ДЕ╢ЖЗИ╤╥ЙКЛМНОПРСТУФХЦЧШЩЬЮЯ.txt
в koi8-u присутствуют _все_ буквы украинского алфавита.

т.е., резюме на данный момент.
некорректно:
CP10007
ISO-8859-5
KOI8-U
UTF-8 (по крайней мере с украинскими буквами автоопределение было неверным. подозреваю, что на не-кириллице будет то же самое).

корректно:
CP1251
CP866
KOI8-R
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Lazy_Kent
Сообщения: 709
Статус: Ленивый
ОС: openSUSE (Xfce)

Re: Русские имена в zip-архивах.

Сообщение Lazy_Kent »

некорректно:
CP10007
ISO-8859-5
KOI8-U
Чудес никто не обещал. Думаю, пользователей openSUSE отсутствие поддержки этих кодировок не сильно обеспокоит. Основная задача -- сделать читаемыми имена файлов в виндовых кодировках. Сейчас и этого нет.

А только с уникальными буквами украинского алфавита, действительно, есть непонятка. Причём, если добавлять в строку нормальные буквы, количество переходит в качество, в какой-то момент.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Русские имена в zip-архивах.

Сообщение sash-kan »

Lazy_Kent писал(а):
12.05.2010 22:08
Основная задача -- сделать читаемыми имена файлов в виндовых кодировках. Сейчас и этого нет.
некириллические алфавиты и неславянские языки, я так понимаю, не тестировались.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Русские имена в zip-архивах.

Сообщение sash-kan »

к слову: по поводу искусственного интеллекта и однобайтовых кодировок.

мне кажется более правильным будет путь добавления ключей к программе unzip для указания кодировки. и добавление соответствующего контекстного меню в графические обёртки.
этот путь, в принципе, не отменяет, а дополняет расширение эмпирических возможностей, которое попытались сделать в тестируемой вами сборке unzip.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Lazy_Kent
Сообщения: 709
Статус: Ленивый
ОС: openSUSE (Xfce)

Re: Русские имена в zip-архивах.

Сообщение Lazy_Kent »

Тестировались чешский и словацкий. Больше желающих не нашлось. Получат то, что имееем.

Переговорил с автором по этому вопросу. Цитата: "алгоритм распознования ориентирован на стандартные слова. Если задавать просто случайный набор букв, то он вполне может не работать. Но реально-то используются, - слова, так что это проблем не создает."
Библиотека librcc собирается с aspell и enca. Так что да, словарная зависимость.

Что либо радикально менять в unzip не получится. Мэйнтейнер очень консервативно настроен. Достаточно сказать, что до сих пор пользуемся версией 5.52 от 2005 года.
Спасибо сказали:
Аватара пользователя
k0da
Бывший модератор
Сообщения: 6043
Статус: SuSE QA Engineer
ОС: Factory

Re: Русские имена в zip-архивах.

Сообщение k0da »

sash-kan
Такая фича в libnatspec еще еще сложнее пропихнуть в апстрим. Или же предложить мейнтейнеру.
Fury in my eyes, sword on my side
Afro on my head, I'm a black Samurai
Number One, I bring my whole nation alive
Escape death, to become immortalized
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Русские имена в zip-архивах.

Сообщение sash-kan »

Lazy_Kent писал(а):
12.05.2010 23:43
реально-то используются, - слова
вполне себе слова україньскою:
ґніт ґіб ґіпс їжа Євґрап її
боюсь, ни одно из них и.и. не определит как юникод.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Lazy_Kent
Сообщения: 709
Статус: Ленивый
ОС: openSUSE (Xfce)

Re: Русские имена в zip-архивах.

Сообщение Lazy_Kent »

В большинстве случаев определяет.

Код: Выделить всё

Archive:  ua-CP1251.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
        0  05-13-10 11:36   ua-CP1251/
        5  05-13-10 11:29   ua-CP1251/ґніт ґіб ґіпс їжа Євґрап її.txt
        5  05-13-10 11:32   ua-CP1251/ґніт.txt
        5  05-13-10 11:33   ua-CP1251/ґіб.txt
        5  05-13-10 11:34   ua-CP1251/╢ЁОЯ.txt
        5  05-13-10 11:34   ua-CP1251/їжа.txt
        5  05-13-10 11:34   ua-CP1251/кт┤Ёря.txt
        5  05-13-10 11:35   ua-CP1251/її.txt
        5  05-13-10 11:36   ua-CP1251/її ґіб.txt
 --------                   -------
       40                   9 files
Archive:  ua-UTF-8.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
        0  05-13-10 11:36   ua-UTF-8/
        5  05-13-10 11:29   ua-UTF-8/ґніт ґіб ґіпс їжа Євґрап її.txt
        5  05-13-10 11:32   ua-UTF-8/ґніт.txt
        5  05-13-10 11:33   ua-UTF-8/Т‘С–Р±.txt
        5  05-13-10 11:34   ua-UTF-8/ґіпс.txt
        5  05-13-10 11:34   ua-UTF-8/їжа.txt
        5  05-13-10 11:34   ua-UTF-8/Євґрап.txt
        5  05-13-10 11:35   ua-UTF-8/С—С—.txt
        5  05-13-10 11:36   ua-UTF-8/С—С— Т‘С–Р±.txt
 --------                   -------
       40                   9 files

Спасибо сказали:
Аватара пользователя
Minton
Сообщения: 1588
Статус: openSUSE Localization Team
ОС: openSUSE Tumbleweed x86-64

Re: Русские имена в zip-архивах.

Сообщение Minton »

sash-kan писал(а):
12.05.2010 22:55
к слову: по поводу искусственного интеллекта и однобайтовых кодировок.

мне кажется более правильным будет путь добавления ключей к программе unzip для указания кодировки. и добавление соответствующего контекстного меню в графические обёртки.
этот путь, в принципе, не отменяет, а дополняет расширение эмпирических возможностей, которое попытались сделать в тестируемой вами сборке unzip.

Вроде как в АльтЛинуксе внедрили как раз такой патч, который позволяет принудительно указать кодировку имён файлов
Русский раздел на forums.opensuse.org :)

"Настоящие мужчины используют поиск" ©Goodvin
Спасибо сказали:
Lazy_Kent
Сообщения: 709
Статус: Ленивый
ОС: openSUSE (Xfce)

Re: Русские имена в zip-архивах.

Сообщение Lazy_Kent »

Есть такое. А автоматическое определение там работает?
Даже если укажешь, то только в консоли. А в GUI что делать?
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Русские имена в zip-архивах.

Сообщение sash-kan »

Lazy_Kent писал(а):
13.05.2010 18:42
А в GUI что делать?

sash-kan писал(а):
12.05.2010 22:55
добавление соответствующего контекстного меню в графические обёртки.

Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Lazy_Kent
Сообщения: 709
Статус: Ленивый
ОС: openSUSE (Xfce)

Re: Русские имена в zip-архивах.

Сообщение Lazy_Kent »

Да, да. Я читал цитату. Только заниматься этим никто не будет. Давайте смотреть на вещи реально.
В KDE уже восемь месяцев висит баг про невозможность открытия зашифрованных 7Zip и RAR-архивов в Ark. В консоли, естественно, открываются. Никаких движений в сторону исправления не видно.

Ну, это мы уже от темы отвлекаемся. Нам бы с unzip в openSUSE вопрос закрыть.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Русские имена в zip-архивах.

Сообщение sash-kan »

а этот искусственный интеллект каким образом включается? через опцию конфигурационного файла программы unzip?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
k0da
Бывший модератор
Сообщения: 6043
Статус: SuSE QA Engineer
ОС: Factory

Re: Русские имена в zip-архивах.

Сообщение k0da »

sash-kan
а кодировки руками выбирать?

unzip собирается с librcc и включен по умолчанию
Fury in my eyes, sword on my side
Afro on my head, I'm a black Samurai
Number One, I bring my whole nation alive
Escape death, to become immortalized
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Русские имена в zip-архивах.

Сообщение sash-kan »

k0da писал(а):
13.05.2010 22:44
включен по умолчанию
ты это серьёзно? а мэйнтэйнер в курсе?

когда, распаковав старенький архив, какой-нибудь добропорядочный бюргер увидит вместо, например, österreichische, непонятное цsterreichische или Ўsterreichische, я думаю, он будет несколько удивлён.

Код: Выделить всё

$ echo österreichische | iconv -t iso8859-1 | iconv -f cp1251
цsterreichische
$ echo österreichische | iconv -t iso8859-1 | iconv -f cp866
Ўsterreichische
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
k0da
Бывший модератор
Сообщения: 6043
Статус: SuSE QA Engineer
ОС: Factory

Re: Русские имена в zip-архивах.

Сообщение k0da »

sash-kan
Ну патч он видел. Тесткейс тоже есть.
Fury in my eyes, sword on my side
Afro on my head, I'm a black Samurai
Number One, I bring my whole nation alive
Escape death, to become immortalized
Спасибо сказали:
156
Сообщения: 234
ОС: OPENSUSE ALTLINUX

Re: Русские имена в zip-архивах.

Сообщение 156 »

Для себя проблему решил так - тут на форуме нашел скрипт, который распаковывает зип архив, перекодирует его в utf и запаковывает обратно в зип. Потом архив нормально открывается в любом, даже в самом тупом гуёвом архиваторе. Большие архивы не пробовал, а маленькие перекодируются мгновенно. И не нужны никакие мэйнтеймеры...
Спасибо сказали:
Lazy_Kent
Сообщения: 709
Статус: Ленивый
ОС: openSUSE (Xfce)

Re: Русские имена в zip-архивах.

Сообщение Lazy_Kent »

sash-kan писал(а):
13.05.2010 23:16
когда, распаковав старенький архив, какой-нибудь добропорядочный бюргер увидит вместо, например, österreichische, непонятное цsterreichische или Ўsterreichische, я думаю, он будет несколько удивлён.

Код: Выделить всё

$ echo österreichische | iconv -t iso8859-1 | iconv -f cp1251
цsterreichische
$ echo österreichische | iconv -t iso8859-1 | iconv -f cp866
Ўsterreichische

Бюргер увидит то, что должно быть. Какое отношение к нему имеют cp1251 и cp866?
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Русские имена в zip-архивах.

Сообщение sash-kan »

Lazy_Kent писал(а):
15.05.2010 13:32
Какое отношение к нему имеют cp1251 и cp866?
к бюргеру? никакого.
но вполне возможен вариант, когда имя, записанное в однобайтной кодировке (например, в достаточно распространённой cp850) с использованием (в том числе) символов со значением выше 127, будет интерпретировано обсуждаемым и.и. как записанное в кодировке cp1251 или cp866.
вот тогда это бюргера очень даже коснётся.

вместо уже привычных ему вопросиков (или как оно там у него отобразится при дефолтном utf-е?), с которыми он прекрасно научился справляться, получит наш бюргер в вакууме нечто вообще никакого смысл для него не имеющее.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Lazy_Kent
Сообщения: 709
Статус: Ленивый
ОС: openSUSE (Xfce)

Re: Русские имена в zip-архивах.

Сообщение Lazy_Kent »

Включили исправленный unzip в Factory.
Спасибо сказали: