Страница 1 из 1

Старая добрая проблема символов '«' и '»' в ZIP архивах TC

Добавлено: Пт июл 03, 2015 23:41
Mellomann
Наткнулся давеча на хабре на статейку http://habrahabr.ru/post/261733/
Затронули старую добрую проблему костылей для не 437 кодировки в ZIP архивах.

Повторил у себя с настройкой в конфиге ZipUnicode=3 (т.е. принудительный уникод при >127).
Получается вообще эпично: Тотал ничего не теряет, кавычки на месте, Винрар тоже так же, 7зип на хабре тоже так же показался.
Но проводник с архивом от тотала (при такой настройке) - вообще нечто:
http://savepic.net/7009242.png

Суть моего вопроса: есть ли какой-то способ спаковать такой архив, чтобы и проводник видел, и каши из имён в нём же не было?
(как вариант: использовать 866 или 1251 вместо utf8, но чтоб без изменений на "<" ">")

Добавлено: Сб июл 04, 2015 20:46
MVV
Проводник не ожидает, что имена будут в UTF-8, он по основному стандарту ожидает исключительно кодировку OEM. В свою очередь, в тотале для получения имён в кодировке OEM используется упомянутая функция CharToOem, которая заменяет ёлочки на знаки неравенства, и ничего тут не поделаешь.

Думаю, отображение пары непонятных символов вместо ёлочки в Проводнике - такая мелочь, что не стоит и париться. Открывает - и то ладно. Это если вообще забыть о том, что на дворе 2015 год, и уже лет 15 как существует открытый формат 7Z, почти во всём превосходящий старичка ZIP.

Добавлено: Сб июл 04, 2015 23:42
Mellomann
Так то понятно, хорошо и на том спасибо, да только от zip пока в некоторых случаях никак не уйти.

А по поводу "открывает"...
Тот же 7zip не открывает файл "<тест>.txt" из zip архива, ибо пытается его с таким именем и доставать. Зато TC и Winrar - хитрят, заменяют имя на "_тест_.txt" и только потом вытаскивают.

И, ведь, не заставить никак их всех работать одинаково.
Печаль-тоска, пойду с горя насплюсь... :lol:

Добавлено: Вс июл 05, 2015 12:30
MVV
Дык не надо делать имена "<тест>.txt", раз не все открывают, делай в UTF-8. Я ж говорю, чихать на Проводник, который показывает там вместо ёлочек по две закорючки, лишь бы открывал хоть как-нибудь.
Вот только боюсь, если Проводник неправильно интерпретирует ёлочки в имени папки *_files, он же по идее и сохраненную веб-страницу криво покажет...

Добавлено: Пн июл 13, 2015 13:08
Omicron Persei 8
Только вчера налетел на проблему. Внутренний упаковщик тотала при упаковке в zip заменяет тире на дефис. Вот это жопа. А распаковывает нормально. Надо раром или плагином 7зипом упаковывать, если тире может попасться или кавычки елочки. В этой теме выяснили как Total7zip плагин использовать для упаковки в простой zip вместо внутреннего упаковщика:
http://forum.wincmd.ru/viewtopic.php?t=15720

Насчет проводника хз, у меня старая xp сейчас под рукой, и там еще в реестре покоцано открытие папок (пришлось, т.к. проводник сильно подвисал после установки Sandboxie), файлы в зипе с тире и кавычками запакованные Total7zip вроде бы распаковывает, но меняет названия. Не пользуюсь проводником для распаковки.