Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Как вернуть имена файлов?

Автор zwh, августа 2, 2021, 14:49

0 Пользователи и 1 гость просматривают эту тему.

Хромис Красавец

Цитата: From_Odessa от августа  5, 2021, 11:18
Цитата: Хромис Красавец от августа  4, 2021, 17:57
Zip - какашка! Вечная проблема с кракозюберами.
А почему это происходит? Как технически объясняется? И в какой момент? В процессе архивирования?
Все линуксоиды в курсе этой проблемы. На форумах всё обсуждалось 100500 раз -
https://www.opennet.ru/tips/2494_zip_rus_patch.shtml
https://unixforum.org/viewtopic.php?t=121805

В каждом дистрибутиве решают проблему по-своему. Или вообще не решают. Можно каждый zip распаковывать командой в терминале с точным указанием кодировки.
В альтлинуксе unzip пропатчили, в астралинуксе вроде тоже.
Есть B1 free archiver, он всегда корректно определяет кодировку, ставится почти под любой линукс.
В windows универсальное решение - 7-zip.


Upliner

На Линуксе сижу с 2007, но с проблемой сталкивался очень редко. А когда и сталкивался -- то тупо переименовывал файлы вручную (как правило, их было немного)
Sancta Maria, Mater Dei, ora pro nobis peccatoribus, nunc et in hora mortis nostrae.

zwh

Цитата: Upliner от августа  7, 2021, 15:30
На Линуксе сижу с 2007, но с проблемой сталкивался очень редко. А когда и сталкивался -- то тупо переименовывал файлы вручную (как правило, их было немного)
А как удавалось догадаться, какие имена у них были исходно? Или там кодировка КОИ-8?

Хромис Красавец

Цитата: СНовосиба от августа  7, 2021, 15:19
Цитата: Хромис Красавец от августа  5, 2021, 20:09Все линуксоиды в курсе этой проблемы.
В 2010 году, ага.
Я тоже люблю иронию. Но именно эта проблема никуда не делась. На работе я часть времени занимаюсь наполнением сайта. Одно из требований к размещаемым файлам - (сюрприз  :)  ) является формат zip.
Я пытался переломить эту ситуацию, размещал архивы в 7z, но несколько раз получил по шапке и успокоился.
Во многих даже отечественных дистрибутивах unzip не пропатчен. Если в линуксе (например в минте) сжимаешь папку в zip, то пользователи винды видят кракозюберы в именах файлов. И наоборот.
В некоторых случаях zip архив из win 10 открывается с кракозюберами в win 7. Про XP я вообще молчу.
Я разместил тысячи архивов в этом чёртовом формате, знаю о чём говорю.

Хромис Красавец


Upliner

Цитата: Хромис Красавец от августа  7, 2021, 20:03Вот свежий пример, и это нифига не 2010 год.
Это проблема Ark / file-roller / ArchiveManager, короче всех гуёвых архиваторов. Я ими практически не пользуюсь. Простой unzip распаковывает нормально. Похоже, что в Убунте он таки пропатченный...
Sancta Maria, Mater Dei, ora pro nobis peccatoribus, nunc et in hora mortis nostrae.

Upliner

В общем да, смотрю сейчас практически все виндовые архиваторы забивают на стандарт 2006 года и кодируют имена файлов в досовской кодировке cp866, в то время как по стандарту положен utf8. Но в то же время 7-zip нормально понимает utf-8, возможно проблемы возникают только в WinRar.
Похоже, совместимость с досом для винды важнее, чем стандарты...
Sancta Maria, Mater Dei, ora pro nobis peccatoribus, nunc et in hora mortis nostrae.

Python

Интересно, существуют ли архиваторы, в которых кодировку можно своими руками указать? (RAR тоже может, но там только три кодировки — KOI8 прочитать не получится).
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Upliner

Цитата: Python от августа  8, 2021, 00:16
Интересно, существуют ли архиваторы, в которых кодировку можно своими руками указать? (RAR тоже может, но там только три кодировки — KOI8 прочитать не получится).
Я таких не видел. Разве что выше Хромис давал ссылки как можно извратиться и перед запаковкой/после распаковки переименовать файлы с помощью iconv.
Sancta Maria, Mater Dei, ora pro nobis peccatoribus, nunc et in hora mortis nostrae.

Python

Впрочем, если выбор OEM- и ANSI-кодировки зависит от установок операционной системы, можно попробовать сменить их глобально (если это возможно без переустановки системы) — напр., установить KOI8-U в качестве OEM или ANSI — и попробовать открыть архив с этой кодировкой тем же RARом?
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Upliner

Цитата: Python от августа  8, 2021, 01:51установить KOI8-U в качестве OEM или ANSI
Насколько я знаю, КОИ-8 не входит ни в ОЕМ, ни в ANSI.
Sancta Maria, Mater Dei, ora pro nobis peccatoribus, nunc et in hora mortis nostrae.

Python

Цитата: Upliner от августа  8, 2021, 02:02
Цитата: Python от августа  8, 2021, 01:51установить KOI8-U в качестве OEM или ANSI
Насколько я знаю, КОИ-8 не входит ни в ОЕМ, ни в ANSI.
В консоли, тем не менее, KOI8-R, KOI8-U можно использовать как кодовые страницы 20866, 21866. В консоли они обрабатываются как «ANSI-кодировки» (т.е., без поддержки растровых шрифтов и полноэкранного режима) — впрочем, неуверен, насколько «ANSI-кодировки в консольном окне» могут использоваться в качестве глобальной ANSI-кодировки системы.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Upliner

Цитата: Python от августа  8, 2021, 02:35впрочем, неуверен, насколько «ANSI-кодировки в консольном окне» могут использоваться в качестве глобальной ANSI-кодировки системы.
Вроде уже давно нет свободного выбора глобальной кодировки. Только язык и страну можно выбирать, и для каждого доступна только определённая кодировка.
Sancta Maria, Mater Dei, ora pro nobis peccatoribus, nunc et in hora mortis nostrae.

zwh

У меня в TheBAT! для вновь создаваемых писем по умолчанию KOI8-R стоит! :P

СНовосиба

Цитата: zwh от августа  8, 2021, 06:21У меня в TheBAT! для вновь создаваемых писем по умолчанию KOI8-R стоит!
КОИ-8 была троллингом одного человека, и распространилась из-за технической безграмотности российского сегмента интернета.
Цитата: Upliner от августа  7, 2021, 20:43В общем да, смотрю сейчас практически все виндовые архиваторы забивают на стандарт 2006 года и кодируют имена файлов в досовской кодировке cp866
"Сжатые папки" из Windows отказываются архивировать файлы с неюникодными именами, но поддерживают UTF-8.
WinRAR поддерживает UTF-8. 7-Zip поддерживает UTF-8. О каких архиваторах идет речь?
Цитата: Хромис Красавец от августа  7, 2021, 20:03Вот свежий пример, и это нифига не 2010 год.
В линупсе с поддержкой человеческого языка все сложно по определению.

Upliner

Цитата: СНовосиба от августа  8, 2021, 13:297-Zip поддерживает UTF-8. О каких архиваторах идет речь?
Только что запаковал zip-файл гуёвым 7-zip-ом и там никаким UTF-8 не пахнет. И галочки никакой не вижу, чтобы делал уникодные имена. Может в коммандной строке у 7z и есть какой волшебный ключик, но кто ж ей под виндой пользуется.
Распаковывает UTF-8 нормально, спору нет.
Цитата: СНовосиба от августа  8, 2021, 13:29"Сжатые папки" из Windows отказываются архивировать файлы с неюникодными именами
В Win10 ничего не отказывается. Делаю Send to -> Compressed (zipped) file и получаю такой же зипник с кодировкой cp866.
Sancta Maria, Mater Dei, ora pro nobis peccatoribus, nunc et in hora mortis nostrae.

Upliner

Цитата: Python от августа  8, 2021, 02:35В консоли, тем не менее, KOI8-R, KOI8-U можно использовать как кодовые страницы 20866, 21866. В консоли они обрабатываются как «ANSI-кодировки» (т.е., без поддержки растровых шрифтов и полноэкранного режима) — впрочем, неуверен, насколько «ANSI-кодировки в консольном окне» могут использоваться в качестве глобальной ANSI-кодировки системы.
Я так и не понял, как? Что-то ни в одной винде не припомню, чтобы можно было свободно выбирать кодировку консоли. Вот сейчас в десятке форсированно стоит OEM 866 и поменять не даёт. Ни смена шрифтов, ни Legacy mode не помогают. Для КОИ-8 в своё время ставил для Far-а специальное расширение, ну так он просто преобразовывал в тот же cp866.
Sancta Maria, Mater Dei, ora pro nobis peccatoribus, nunc et in hora mortis nostrae.

Upliner

Цитата: Upliner от августа  8, 2021, 13:55Для КОИ-8 в своё время ставил для Far-а специальное расширение
Сейчас эта функция доступна в Far-е из коробки, но нигде не пишут, что КОИ-8 это ANSI
Sancta Maria, Mater Dei, ora pro nobis peccatoribus, nunc et in hora mortis nostrae.

СНовосиба

Цитата: Upliner от августа  8, 2021, 13:44Только что запаковал zip-файл гуёвым 7-zip-ом и там никаким UTF-8 не пахнет. И галочки никакой не вижу, чтобы делал уникодные имена.
Так запакуйте файл с юникодным (хотя бы украинским) именем, и все будет.

СНовосиба

Цитата: zwh от августа  2, 2021, 14:49Прислали на мыло толстый zip к картинками, открываю -- а там вот такое порево... Как можно побороть?
Обновите WinRAR хотя бы до 4-й версии.

zwh

Цитата: СНовосиба от августа  8, 2021, 13:29
Цитата: zwh от августа  8, 2021, 06:21У меня в TheBAT! для вновь создаваемых писем по умолчанию KOI8-R стоит!
КОИ-8 была троллингом одного человека, и распространилась из-за технической безграмотности российского сегмента интернета.
В смысле "троллингом"??? Она спецом была сделана так, что если буржуйские проги в сообщениях на русском резали старший бит, то их хотя бы можно было осмысленно прочесть.

zwh

Цитата: СНовосиба от августа  8, 2021, 15:07
Цитата: zwh от августа  2, 2021, 14:49Прислали на мыло толстый zip к картинками, открываю -- а там вот такое порево... Как можно побороть?
Обновите WinRAR хотя бы до 4-й версии.
Стоит версия 5.50

Python

Цитата: Upliner от августа  8, 2021, 13:55
Что-то ни в одной винде не припомню, чтобы можно было свободно выбирать кодировку консоли.
В пределах консольного окна можно переключать командой chcp (желательно, чтобы при этом в настройках консольного окна был выбран какой-либо из векторных шрифтов — Lucida Console, Consolas и пр. — в противном случае, ANSI-кодировки будут отображаться неправильно). Вроде бы, где-то в системном реестре можно менять и консольную кодовую страницу по умолчанию.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2


Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр