Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.UNIX.BSD
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.UNIX.BSD с датами от 18 Jan 11 22:51:00 до 06 Oct 24 10:23:41, всего сообщений: 10767
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 6915 из 10767 ===================================== RU.UNIX.BSD =
От   : Eugene Grosbein                  2:5006/1           03 Apr 18 03:01:22
Кому : Alex Korchmar                                       03 Apr 18 03:01:22
Тема : Re: tar: Can't translate pathname  to UTF-8
FGHI : area://RU.UNIX.BSD?msgid=grosbein.net+4543d469
На   : area://RU.UNIX.BSD?msgid=ddt.demos.su+46c7f41c
= Кодировка сообщения определена как: IBM866 =================================
Ответ: area://RU.UNIX.BSD?msgid=<1187509281@ddt.demos.su>+2ae9d427
==============================================================================
02 апр. 2018, понедельник, в 17:41 NOVT, Alex Korchmar написал(а):

AK>>> что-то скопировать оттуда таром, и пытаюсь найти хоть один архиватор,
AK>>> работающий во freebsd не с единственно-правильной кодировкой.
AK>>> Пока, увы, ноль.
EG>> А не мог бы ты перестать страдать XY-фигнёй и честно рассказать,
EG>> чего ты хочешь *в итоге* получить и как именно ты это делаешь
AK> сейчас уже ничего не хочу - кроме как стереть бнопняные файлы с ненабираемыми
AK> на клавиатуре и непоказываемыми ни в какой кодировке именами (пока руки не
AK> дошли)
AK> А хотел сперва банально распаковать tar, созданный на чужой системе. Hе знаю,
AK> как и какой.
AK> Судя по "schili extensions" - bsd tar, возможно, очень старый.


AK> Выяснилось, что это невозможно в принципе, уже в момент создания архива его
AK> содержимое безвозвратно испорчено рукожопой перекодировкой.

Ты же не знаешь, где и как создан tar, так почему ты считаешь, что он внутри
испорчен - только потому, что лично ты ниасилил его развернуть?

AK> Попутно - что нынешний bsd tar перекодирует все подряд, сообразно своему
AK> пониманию, что именно перекодируется,

Перекодирует в соответствии со документированной спецификацией формата,
про что ты просто не удосужился почитать. Hа фряхе это собственно man tar,
который ссылается на man libarchive-formats. По дефолту при создании tar
используется restricted pax format:

             The pax interchange format converts filenames to Unicode and
             stores them using the UTF-8 encoding.  Prior to libarchive 3.0,
             libarchive erroneously assumed that the system wide-character
             routines natively supported Unicode.  This caused it to mis-
             handle non-ASCII filenames on systems that did not satisfy this
             assumption.

AK> без возможности его явно отменить.

Hеправда. tar --format ustar -cf test.tar создаёт tar-файл
с именами внутри "как есть". То же самое будет для
tar --format gnutar, в соответствии со спецификациями обоих
форматов.

AK> ~/test>  touch 1251/`echo 'афаййей' | iconv -t cp1251`
AK> ~/test>  touch utf8/`echo 'афаййей' | iconv -t utf8 `
AK> ~/test>  tar -cvf test *
AK> a 1251
AK> a 1251/ЮТЮИИЕИ
AK> a utf8
AK> a utf8/(нетерминальные символы)
AK> a афаййей

Опять приходится догадываться, что локаль у тебя KOI8-R,
четко сообщать условия тестирования ты почему-то не считаешь нужным.

Как я уже несколько раз повторял, *визуализация* на терминале
не повторяет байтов, сохранённых в самом архиве, хотя и может
с ними совпасть в зависимости от разных факторов типа
формата tar и текущей локали.

Eugene
--- slrn/1.0.2 (FreeBSD)
* Origin: RDTC JSC (2:5006/1@fidonet)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.110616 секунды