Страница 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" и только потом вытаскивают.
И, ведь, не заставить никак их всех работать одинаково.
Печаль-тоска, пойду с горя насплюсь...

Добавлено: Вс июл 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 вроде бы распаковывает, но меняет названия. Не пользуюсь проводником для распаковки.