EugeneRoshal
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Bestman Цитата: Если ZIP-архив не содержит записей в UTF8, а только в DOS-кодировке, то при добавлении или удалении файлов из архива, а так же при добавлении комментария к архиву (и, видимо, при других операциях), WinRar переводит уже существующие в архиве имена в кодировку ANSI. | Уточните, как воспроизвести. Сейчас я запустил: 7z a arc.zip тест.расширение winrar a arc.zip test.txt "тест.расширение" как было в cp866, так и осталось. Использовал 7-Zip, чтобы без UTF-8 extra fields. WinRAR 5.90b2. Цитата: Комментарий к ZIP-архиву добавляется и отображается оболочкой в виндовой кодировке ANSI. По идее нужно в DOS, как и имена файлов. | В ZIP appnote.txt кодировка архивного комментария не задана. Появились там только опциональные utf-8 для имен файлов и файловых комментариев. Цитата: Нормальные архиваторы используют системную DOS-кодировку для записи имен, а не ANSI. | Если только в теории. На практике я видел у разных версий одних и тех же архиваторов и ANSI, и OEM. Потом есть ли в произвольном Unix системная DOS кодировка. Например, старые версии InfoZip под OS X сохраняли имена в UTF-8 в качестве текущей системной, но флаг UTF-8 не ставили. Может новые уже и ставят, давно не смотрел. Увы и ах, но в ZIP с кодировками до сих пор неразбериха. Встретить там можно что угодно. Что-то удается правильно определить эвристиками, что-то - нет. Да, появилась возможность указывать имена в UTF-8, но часть распаковщиков с такими именами не справляется, поэтому пользоваться такими именами приходится с осторожностью. А для архивного комментария UTF-8 флага так и нет. |