zip и русские имена
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- лейтенант
- Сообщения: 751
- Зарегистрирован: 2008-07-15 16:11:11
zip и русские имена
Как распаковать zip с русскими именами файлов (и каталогов) созданный под Windows 7?
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
-
- проходил мимо
zip и русские имена
- дохтур, у мине эта...icb писал(а):Как распаковать zip с русскими именами файлов (и каталогов) созданный под Windows 7?
- OS?
- чем создавался zip?
В общем случае: unzip собранный с iconv или p7zip
В 10.x/UTF-8 с p7zip никаких проблем не наблюдалось : FreeBSD <-> Windows N
ps. Правильный подход в настройке Windows -> максимально заменить все что можно на Free, в
том числе и WinZip/WinRar...
-
- лейтенант
- Сообщения: 751
- Зарегистрирован: 2008-07-15 16:11:11
zip и русские имена
У меня FreeBSD 10.2, записанные русские имена через SAMBA вижу нормально (в rc.conf про utf ничего не писал, но LC_ALL выдает en_US.UTF-8).
zip создан под Windows 7 либо стандартными средствами, либо из TotalCommander.
Попробовал p7zip - не создает корректных имен

-
- лейтенант
- Сообщения: 751
- Зарегистрирован: 2008-07-15 16:11:11
zip и русские имена
Временно решил проблему так: unzip и потом convmv --notest -r -f CP866 -t UTF8 .
Но делать так каждый раз при получении архива - дикое извращение.
Да и несколько файлов не преобразовались, хотя на виндовой машине они видны нормально.
Куда еще копнуть?
Но делать так каждый раз при получении архива - дикое извращение.
Да и несколько файлов не преобразовались, хотя на виндовой машине они видны нормально.
Куда еще копнуть?
-
- проходил мимо
zip и русские имена
какие стандартные средства Windows создают ZIP архив?
10.x с ru_RU.UTF-8 + p7z из портов и Windows X с p7zip - специально тестировались наПопробовал p7zip - не создает корректных имен
работу с locale, как и остальные WinRAR/WinZip под Windoze и unzip/rar/unrar под FreeBSD
ps. Samba имеет механизм encoding'а, Вы определитесь что, где, чем и как создаете и соответственно чем
разворачиваете:
- Windoze -> кодировка cp866 или cp1251 или utf-8
- FreeBSD -> locale
-
- ст. лейтенант
- Сообщения: 1374
- Зарегистрирован: 2010-02-05 0:21:40
zip и русские имена
right click -> Send to -> Compressed (zipped) folder.какие стандартные средства Windows создают ZIP архив?
стандартнее не бывает
-
- проходил мимо
zip и русские имена
вот подобные "стандартные" zip архивы и создаются Windoze через одно место.FiL писал(а):right click -> Send to -> Compressed (zipped) folder.какие стандартные средства Windows создают ZIP архив?
стандартнее не бывает
-
- ст. лейтенант
- Сообщения: 1374
- Зарегистрирован: 2010-02-05 0:21:40
zip и русские имена
нормально создаются... вполне в соответствии со спецификацией зипа.
-
- ст. лейтенант
- Сообщения: 1325
- Зарегистрирован: 2008-07-27 17:11:30
- Откуда: Москва
-
- лейтенант
- Сообщения: 751
- Зарегистрирован: 2008-07-15 16:11:11
zip и русские имена
Судя по всему p7zip работает с локалью криво.
Пробовал указывать кодировки через опции scc и scs - не помогает.
Причем создает файлы в UTF8, но с кривой кодировкой - конвертация через convmv уже не помогает (сробовал CP866 и CP1251).
-
- проходил мимо
zip и русские имена
может кто-то не умеет настраивать Locale?icb писал(а):Судя по всему p7zip работает с локалью криво.
Пробовал указывать кодировки через опции scc и scs - не помогает.
Причем создает файлы в UTF8, но с кривой кодировкой - конвертация через convmv уже не помогает (сробовал CP866 и CP1251).
7z.exe в Windows создает архивы .7z с которыми 7z в FreeBSD работает без проблем
Встроенный zip от Windows 7 - без проблем раскрывается unzip собранным из портов
с ICONV/Russian = on
Все верхнее в очередной раз проверено под FreeBSD 10.x с ru_RU.UTF-8.
-
- лейтенант
- Сообщения: 751
- Зарегистрирован: 2008-07-15 16:11:11
zip и русские имена
Возможно. Но надо распаковать именно zip.
Верю. Так же видел гуляющий патч для unzip.
Но есть только пакеты (unzip, 7z).
Почему именно ru_RU.UTF-8? По идее любая UTF-8 должна работать.
Можно конечно брать дефолт и пытаться угадать что пользователь хочет по locale, но должна же быть возможность указать кодировку для архива. Или для использования разных кодировок надо менять локаль? Не очень хорошее решение мягко говоря.
-
- проходил мимо
zip и русские имена
а разве 7z не поддерживает zip?
это Ваши проблемы, а кодировка - проблемы Info-Zip, которая выложила кривой unzip 6.0.
А поддержка iconv и russian в unzip - это достижения Unix сообщества по исправлению
проблем.
Думаю, Вы не понимаете настройку locale.Почему именно ru_RU.UTF-8? По идее любая UTF-8 должна работать.
Можно конечно брать дефолт и пытаться угадать что пользователь хочет по locale, но должна же быть возможность указать кодировку для архива. Или для использования разных кодировок надо менять локаль? Не очень хорошее решение мягко говоря.
UTF-8 - стандарт представления, когда Вы загружаете ОС:
linux или freebsd
- используете драйвер консоли - так?
- за счет чего драйвер консоли позволяет отображать utf8? (framebuffer vga в графическом режиме)
- что позволяет отображать символы? фонт?
- фонтов utf-8 много, все содержат кириллицу?
Так за счет чего Вы хотите увидеть кириллические символы в FreeBSD и где?
- в консоли?
- в удаленной терминалке?
- локально в X11 ?
- в remote x-apps?
-
- лейтенант
- Сообщения: 751
- Зарегистрирован: 2008-07-15 16:11:11
zip и русские имена
Так разговор же был об архивах .7z, а не про архиватор 7z.
7z поддерживает zip
.7z не является .zip архивом
Они безусловно молодцы. Но оптимальнее было бы добавить возможность указания кодировки при распаковке. Надеюсь товарищи реализуют подобный функционал.
Хочу увидеть кирилицу везде

Понятно что в локальной консоли сервера я ее не увижу (шрифты не подгружал).
Но вот во всех других местах по идее должен видеть (с подгруженными шрифтами), да и собственно вижу:
- захожу через ssh и вижу нормально русские имена файлов созданные собой же, сам могу писать по русски (сижу под FreeBSD)
- самба пишет русские имена файлов, которые я вижу по ssh
- самба показывает виндовым клиентам русские имена файлов созданные мной по ssh
Т.е. нормально работает UTF-8.
Вот только 7z не создает русских имен. У меня малость отличается локаль, но это значит что 7z автоматом не правильно понял что мне надо. Не беда. Для этого и должны быть параметры. Но вот то, что я не могу в параметрах управлять кодировкой - вот это получается беда. Как ее исправить пока не понятно.
-
- проходил мимо
zip и русские имена
было предложено ОТКАЗАТЬСЯ от zip и использовать 7z, или можно gzip/bzip/tar for Windows.
В ином случае - собирать unzip из портов с iconv+russian
7z - поддерживает несколько видов архивов, в том числе и zip, опция -tzip, НО, использует
ровно тот же алгоритм что и unzip и с теми же граблями.
это предложение Zip-Info? Они уже показали реализацию собственного творения под Unix.
Судя по всему, Unix сообществу до одного места zip с unzip, посему, спасение утопающих...
никак, если задание charset не предусмотрено и используется определение locale.undefined писал(а): Вот только 7z не создает русских имен. У меня малость отличается локаль, но это значит что 7z автоматом не правильно понял что мне надо. Не беда. Для этого и должны быть параметры. Но вот то, что я не могу в параметрах управлять кодировкой - вот это получается беда. Как ее исправить пока не понятно.
Посему, UTF-8 лучший вариант, если сам архиватор реализован НЕ КРИВО.
Код: Выделить всё
[myhost]~ > cd /tmp
[myhost]/tmp > uname -rsm
FreeBSD 10.3-RELEASE-p2 amd64
[myhost]/tmp > echo $LANG
ru_RU.UTF-8
[myhost]/tmp > ls -la | grep [А-я]*
drwxr-xr-x 5 root wheel 512 18 авг 15:58 Новая папка
[myhost]/tmp > ls -la Новая\ папка/
total 24
drwxr-xr-x 5 root wheel 512 18 авг 15:58 .
drwxrwxrwt 81 root wheel 5632 18 авг 15:59 ..
-rw-r--r-- 1 root wheel 0 17 авг 18:37 Новый текстовый документ.txt
drwxr-xr-x 2 root wheel 512 17 авг 18:36 великолепие
-rw-r--r-- 1 root wheel 0 17 авг 18:37 друго документ.txt
drwxr-xr-x 2 root wheel 512 17 авг 18:36 красота
drwxr-xr-x 2 root wheel 512 17 авг 18:35 папка один
[myhost]/tmp > 7z a test7z.7z "Новая папка"
7-Zip [64] 9.38 beta Copyright (c) 1999-2014 Igor Pavlov 2015-01-03
p7zip Version 9.38.1 (locale=ru_RU.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)
Scanning
Creating archive /tmp/test7z.7z
Everything is Ok
[myhost]/tmp > 7z l /tmp/test7z.7z
7-Zip [64] 9.38 beta Copyright (c) 1999-2014 Igor Pavlov 2015-01-03
p7zip Version 9.38.1 (locale=ru_RU.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)
Listing archive: /tmp/test7z.7z
--
Path = /tmp/test7z.7z
Type = 7z
Physical Size = 277
Headers Size = 277
Solid = -
Blocks = 0
Date Time Attr Size Compressed Name
------------------- ----- ------------ ------------ ------------------------
2016-08-18 15:58:02 D.... 0 0 Новая папка
2016-08-17 18:36:00 D.... 0 0 Новая папка/великолепие
2016-08-17 18:36:00 D.... 0 0 Новая папка/красота
2016-08-17 18:35:00 D.... 0 0 Новая папка/папка один
2016-08-17 18:37:00 ....A 0 0 Новая папка/Новый текстовый документ.txt
2016-08-17 18:36:00 ....A 0 0 Новая папка/великолепие/Новый текстовый документ.txt
2016-08-17 18:36:00 ....A 0 0 Новая папка/великолепие/еще один.txt
2016-08-17 18:37:00 ....A 0 0 Новая папка/друго документ.txt
2016-08-17 18:36:00 ....A 0 0 Новая папка/красота/спасет мир.txt
------------------- ----- ------------ ------------ ------------------------
2016-08-18 15:58:02 0 0 5 files, 4 folders
[myhost]/tmp >
ps. -scsWIN можно использовать при a/создании, u/update архива
Итог: хотите ZIP с кириллицей, используйте *nix'ы с UTF-8,
в freebsd -> unzip из портов с iconv+russian,
в linux - тоже патченный, двумя разными вариантами, зависит от системы.
-
- лейтенант
- Сообщения: 751
- Зарегистрирован: 2008-07-15 16:11:11
zip и русские имена
спасибо понял, именно в этом и проблема
раз на unzip забили, надо попробовать товарищам из 7z написать - может они прислушаются и сделают опцию для кодировки