#61
|
|||
|
|||
Re: tar: Can't translate pathname to UTF-8
Alex Korchmar написал(а) к Eugene Grosbein в Apr 18 11:35:02 по местному времени:
From: Alex Korchmar <noreply@linux.e-moe.ru> Eugene Grosbein <Eugene.Grosbein@f1.n5006.z2.fidonet.org> wrote: EG> $ tar -cvf test.tar * EG> a 1251 EG> a 1251/\340\364\340\351\351\345\351tar: 1251/ЮТЮИИЕИ: Can't translate pathname EG> '1251/ЮТЮИИЕИ' to UTF-8 EG> a utf8 EG> a utf8/\320\260\321\204\320\260\320\271\320\271\320\265\320\271tar: EG> utf8/п╟я└п╟п╧п╧п╣п╧: Can't translate pathname 'utf8/п╟я└п╟п╧п╧п╣п╧' to UTF-8 вот этого у меня не было - utf8 она съела, в таком сетапе, ругнувшись только на восьмибитные имена. Внутри все оказалось относительно правильно - такой архив распаковывается и подлежит восстановлению. В отличие от архива, созданного при запуске tar c locale C или восьмибитной. > Alex --- ifmail v.2.15dev5.4 |
#62
|
|||
|
|||
Re: tar: Can't translate pathname to UTF-8
Eugene Grosbein написал(а) к Alex Korchmar в Apr 18 19:06:43 по местному времени:
03 апр. 2018, вторник, в 09:27 NOVT, Alex Korchmar написал(а): AK> ну асиль, асиль - ты мне уже второй месяц рассказываешь, как оно все AK> должно быть, только нихрена что-то ни один совет не работает. Я не могу от тебя добиться четкого описания условий эксперимента даже. Eugene -- Научить не кланяться авторитетам, а исследовать их и сравнивать их поучения с жизнью. Научить настороженно относиться к опыту бывалых людей, потому что жизнь меняется необычайно быстро. --- slrn/1.0.2 (FreeBSD) |
#63
|
|||
|
|||
Re: tar: Can't translate pathname to UTF-8
Eugene Grosbein написал(а) к Alex Korchmar в Apr 18 19:09:35 по местному времени:
03 апр. 2018, вторник, в 09:30 NOVT, Alex Korchmar написал(а): EG>> Опять же неправда, так как в "чистой" локали koi8-r всё работает: AK> ты уверен что это - "все работает"? EG>> a utf8/п\260я\204п\260п\271п\271п\265п\271 AK> а вот это - точно юникод? А не "юникод, перекодированный как восьмибитная AK> кодировка". Ну у меня восьмибитная локаль и есть, но это очень важно - косметическая проблема, не затрагивающая байты в tar-файле. EG>> Но у тебя, помнится, не чистая локаль - что-то в KOI8-R, AK> LCCTYPE - koi, LANG не установлен, не думаю что LCMESSAGES может на это AK> влиять. На баги всё что угодно может влиять. Eugene -- Чтобы всё как у всех, но чтоб при этом - не так, как они. --- slrn/1.0.2 (FreeBSD) |
#64
|
|||
|
|||
Re: tar: Can't translate pathname to UTF-8
Eugene Grosbein написал(а) к Alex Korchmar в Apr 18 19:15:08 по местному времени:
03 апр. 2018, вторник, в 09:35 NOVT, Alex Korchmar написал(а): EG>> $ tar -cvf test.tar * EG>> a 1251 EG>> a 1251/\340\364\340\351\351\345\351tar: 1251/ЮТЮИИЕИ: Can't translate AK> pathname EG>> '1251/ЮТЮИИЕИ' to UTF-8 EG>> a utf8 EG>> a utf8/\320\260\321\204\320\260\320\271\320\271\320\265\320\271tar: EG>> utf8/п╟я└п╟п╧п╧п╣п╧: Can't translate pathname 'utf8/п╟я└п╟п╧п╧п╣п╧' to AK> UTF-8 AK> вот этого у меня не было - utf8 она съела, в таком сетапе, ругнувшись только AK> на восьмибитные имена. AK> Внутри все оказалось относительно правильно - такой архив распаковывается и AK> подлежит восстановлению. В отличие от архива, созданного при запуске tar c AK> locale C или восьмибитной. Я демонстрировал же всё и с восьмибитной KOI8-R - всё работало. Eugene -- Как жаль, что не роняли вам на череп утюгов. Скорблю о вас - как мало вы успели. --- slrn/1.0.2 (FreeBSD) |
#65
|
|||
|
|||
Re: tar: Can't translate pathname to UTF-8
Eugene Grosbein написал(а) к All в Apr 18 19:15:53 по местному времени:
03 апр. 2018, вторник, в 18:09 NOVT, Eugene Grosbein написал(а): EG>>> a utf8/п\260я\204п\260п\271п\271п\265п\271 AK>> а вот это - точно юникод? А не "юникод, перекодированный как восьмибитная AK>> кодировка". EG> Ну у меня восьмибитная локаль и есть, но это очень важно - косметическая это НЕ очень важно EG> проблема, не затрагивающая байты в tar-файле. Eugene --- slrn/1.0.2 (FreeBSD) |
#66
|
|||
|
|||
Re: tar: Can't translate pathname to UTF-8
Alex Korchmar написал(а) к Eugene Grosbein в Apr 18 15:07:39 по местному времени:
From: Alex Korchmar <noreply@linux.e-moe.ru> Eugene Grosbein <Eugene.Grosbein@f1.n5006.z2.fidonet.org> wrote: EG>>> a utf8/п\260я\204п\260п\271п\271п\265п\271 AK>> а вот это - точно юникод? А не "юникод, перекодированный как восьмибитная AK>> кодировка". EG> Ну у меня восьмибитная локаль и есть, но это очень важно - косметическая важно что на самом деле в файле. У меня нехорошее ощущение - что и у тебя в этом случае там совсем не юникод, а нечто, что тар считает таковым. EG> На баги всё что угодно может влиять. я ж когда для тебя экспериментировал - ставил LC_ALL, чтобы перекрыть эти настройки. Могу еще один тест попробовать, с LC_ALL koi. Но что-то мне подсказывает, что у меня ничего не изменится, восьмибитные имена кое-как сархивируются, а utf'ное побьется в нечитаемую хрень. ты точно ЭТУ сторону проблемы хочешь решать? Потому что там да, явный баг, но мне-то уже ничем не поможет - у меня уже есть архив с битыми именами. Я его тебе могу выложить, если охота тянуть э...27G бесполезной бнопни. Меньше, наверное, нет. > Alex --- ifmail v.2.15dev5.4 |
#67
|
|||
|
|||
Re: tar: Can't translate pathname to UTF-8
Eugene Grosbein написал(а) к Alex Korchmar в Apr 18 23:22:40 по местному времени:
03 апр. 2018, вторник, в 13:07 NOVT, Alex Korchmar написал(а): EG>>>> a utf8/п\260я\204п\260п\271п\271п\265п\271 AK>>> а вот это - точно юникод? А не "юникод, перекодированный как восьмибитная AK>>> кодировка". EG>> Ну у меня восьмибитная локаль и есть, но это очень важно - косметическая AK> важно что на самом деле в файле. У меня нехорошее ощущение - что и у тебя в AK> этом случае там совсем не юникод, а нечто, что тар считает таковым. Я же давал вывод dd из tar, который показывает, что там честный utf-8, прекрасно конвертируемый в koi8-r через iconv, ты разве не читал? EG>> На баги всё что угодно может влиять. AK> я ж когда для тебя экспериментировал - ставил LC_ALL, чтобы перекрыть AK> эти настройки. Мы говорим про баги. Нельзя рассчитывать на то, что LC_ALL что-то там корректно "перекроет". Надо делать env -i sh и потом выставлять всё с нуля (ну, или просто unset). AK> Могу еще один тест попробовать, с LC_ALL koi. Но что-то мне AK> подсказывает, что у меня ничего не изменится, восьмибитные имена кое-как AK> сархивируются, а utf'ное побьется в нечитаемую хрень. AK> ты точно ЭТУ сторону проблемы хочешь решать? Я хочу либо убедиться, что там внутри utf-8, либо что нет, и тогда нужно будет суметь воспроизвести создание tar с битым utf-8 внутри. AK> но мне-то уже ничем не поможет - у меня уже есть архив с битыми именами. А я тебе не очень-то верю наслово, потому что нечем было в шестой версии freebsd создать tar с перекодированием имён, тогда был gnutar. Eugene -- Поэты - страшные люди. У них все святое. --- slrn/1.0.2 (FreeBSD) |
#68
|
|||
|
|||
Re: tar: Can't translate pathname to UTF-8
Alex Korchmar написал(а) к Eugene Grosbein в Apr 18 20:21:49 по местному времени:
From: Alex Korchmar <noreply@linux.e-moe.ru> Eugene Grosbein <Eugene.Grosbein@f1.n5006.z2.fidonet.org> wrote: EG> Я же давал вывод dd из tar, который показывает, что там честный utf-8, я то ли не заметил, то ли ты не приводил тот тар, что создан с не-юникодной локалью EG> Мы говорим про баги. Нельзя рассчитывать на то, что LC_ALL EG> что-то там корректно "перекроет". э... ты хочешь сказать, у нас сама локаль сломана? EG> Надо делать env -i sh и потом выставлять EG> всё с нуля (ну, или просто unset). ну и смысл? Меня-то интересует чтоб у меня работало, а не в сферическом случае в вакууме. Вот это: 1251/ 1251/афаййей utf8/ utf8/Р\234С"Р\234РNoРNoРuРNo БЖБККЕК юникодом не является и если его вот такое рапаковать - никаким разумным образом ты обратно содержимое каталога utf8 не восстановишь. И оно вполне похоже на то дерьмо, которое у меня теперь на диске, так что, вероятнее всего, произведено тем же способом. Скорее всего tar запустили из под какого-нибудь вебадмина, унаследовавшего локаль от сервера. С моей точки зрения, в этом направлении можно дальше не ковырять. EG> А я тебе не очень-то верю наслово, потому что нечем было в шестой EG> версии freebsd создать tar с перекодированием имён, тогда был gnutar. то что я там вижу - bsdtar 1.2.53 - libarchive 1.2.53 этим ли чудом создан мой архив или нет - не знаю. > Alex --- ifmail v.2.15dev5.4 |
#69
|
|||
|
|||
Re: tar: Can't translate pathname to UTF-8
Eugene Grosbein написал(а) к Alex Korchmar в Apr 18 17:52:39 по местному времени:
03 апр. 2018, вторник, в 18:21 NOVT, Alex Korchmar написал(а): EG>> Я же давал вывод dd из tar, который показывает, что там честный utf-8, AK> я то ли не заметил, то ли ты не приводил тот тар, что создан с AK> не-юникодной локалью Приводил, самый первый пример, он создан с KOI8-R. EG>> Мы говорим про баги. Нельзя рассчитывать на то, что LC_ALL EG>> что-то там корректно "перекроет". AK> э... ты хочешь сказать, у нас сама локаль сломана? Сама локаль нет, но "перекрытие" (использование одних переменных вместо других) это функция самого приложения, а не локали. EG>> Надо делать env -i sh и потом выставлять EG>> всё с нуля (ну, или просто unset). AK> ну и смысл? Меня-то интересует чтоб у меня работало, а не в сферическом AK> случае в вакууме. Смысл - для воспроизведения проблемы на маленьких данных. AK> Вот это: AK> 1251/ AK> 1251/афаййей AK> utf8/ AK> utf8/Р\234С"Р\234РNoРNoРuРNo AK> БЖБККЕК AK> юникодом не является и если его вот такое рапаковать - никаким разумным AK> образом ты обратно содержимое каталога utf8 не восстановишь. Восстановишь. Это просто результат двойной перекодировки из 8-битной в сырой utf-8, это обратимая операция. Нужно просто знать, в которую кодировку обращать. AK> И оно вполне похоже на то дерьмо, которое у меня теперь на диске, так что, AK> вероятнее всего, произведено тем же способом. Скорее всего tar запустили AK> из под какого-нибудь вебадмина, унаследовавшего локаль от сервера. AK> С моей точки зрения, в этом направлении можно дальше не ковырять. А с моей точки зрения, если тебе таки нужен результат - нужно ковырять. Eugene -- И кого не любишь, в лицо не знать, и смотреть на звезды и жить спокойно. --- slrn/1.0.2 (FreeBSD) |
#70
|
|||
|
|||
Re: tar: Can't translate pathname to UTF-8
Alex Korchmar написал(а) к Eugene Grosbein в Apr 18 20:43:32 по местному времени:
From: Alex Korchmar <noreply@linux.e-moe.ru> Eugene Grosbein <Eugene.Grosbein@f1.n5006.z2.fidonet.org> wrote: AK>> utf8/Р\234С"Р\234РNoРNoРuРNo EG> Восстановишь. Это просто результат двойной перекодировки а, Р там русская? тогда не то. У меня первые буквы - латинские. Нет такой кодировки. > Alex --- ifmail v.2.15dev5.4 |