Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
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
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 6918 из 10767 ===================================== RU.UNIX.BSD =
От   : Eugene Grosbein                  2:5006/1           03 Apr 18 03:51:15
Кому : All                                                 03 Apr 18 03:51:15
Тема : Re: tar: Can't translate pathname  to UTF-8
FGHI : area://RU.UNIX.BSD?msgid=grosbein.net+7136ee04
На   : area://RU.UNIX.BSD?msgid=grosbein.net+8a306688
= Кодировка сообщения определена как: IBM866 =================================
Ответ: area://RU.UNIX.BSD?msgid=<1187509286@ddt.demos.su>+f22aaf01
==============================================================================
03 апр. 2018, вторник, в 02:18 NOVT, Eugene Grosbein написал(а):

AK>> Архив, созданный в не-utf8 локали, испорчен необратимо.

EG> Опять же неправда, так как в "чистой" локали koi8-r всё работает:
EG> $ set | egrep 'LANG|LC_'
EG> LANG=ru_RU.KOI8-R

А вот что происходит, если выставить твою "локаль",
которую ты в этом треде показывал:

$ set | egrep 'LANG|LC_'
LANG=
LC_ALL=
LC_COLLATE=ru_RU.UTF-8
LC_CTYPE=ru_RU.UTF-8
LC_MESSAGES=C
LC_MONETARY=C
LC_NUMERIC=C
LC_TIME=C
$ find . -type f | sort
./1251/ЮТЮИИЕИ
./utf8/п╟я└п╟п╧п╧п╣п╧
./афаййей

$ tar -cvf test.tar *
a 1251
a 1251/\340\364\340\351\351\345\351tar: 1251/ЮТЮИИЕИ: Can't translate pathname
'1251/ЮТЮИИЕИ' to UTF-8

a utf8
a utf8/\320\260\321\204\320\260\320\271\320\271\320\265\320\271tar:
utf8/п╟я└п╟п╧п╧п╣п╧: Can't translate pathname 'utf8/п╟я└п╟п╧п╧п╣п╧' to UTF-8

a \301\306\301\312\312\305\312tar: афаййей: Can't translate pathname 'афаййей' to UTF-8

Hе сумев преобразовать сырой UTF-8 из (видимо) ASCII в UTF-8,
оно кладёт внутрь tar-файла сырой UTF-8 как есть:

$ dd if=test.tar bs=1 skip=3096 count=25 2>/dev/null | iconv -f utf-8 -t koi8-r
path=utf8/афаййей

И такой tar в "чистой" локали, к примеру, KOI8-R разворачивается прекрасно,
без каких-либо искажений.

И даже если его разворачивать в указанной выше "локали":

$ tar -xvf ../test/test.tar
x 1251/
x 1251/\340\364\340\351\351\345\351
x utf8/
x utf8/\320\260\321\204\320\260\320\271\320\271\320\265\320\271
x \301\306\301\312\312\305\312

И это опять-таки лишь проблемы *визуализации*:

$ find . -type f
./афаййей
./1251/ЮТЮИИЕИ
./utf8/п╟я└п╟п╧п╧п╣п╧

Всё на месте.

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

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