Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

   Начало   Помощь Поиск
Карта сайта
     
 
Карта сайта ... Общий ..... Алгоритмы и математические задачи. ... Технологии разработки программных систем ... .NET технология от и до ..... WinForms ..... ADO.Net ..... ASP.NET ... С/С++ ..... ANSI С/С++ ..... WinAPI & Visual C++ ....... DirectX ..... Borland C/C++ ..... C/C++ Unix ... Delphi ... VisualBasic ..... Visual Basic for Applications ..... Visual Basic .NET ... Ассемблер ... Java ... Perl ... Программирование 1С ..... 1С 7.x ..... 1С 8.x ... Общие проекты ... Авторское ПО ... Windows ... Unix и другие ..... BSD ..... Linux ... Embedded systems ... Drivers ... Сети ... Техно ... Web ..... Серверные скрипты ..... Базы данных и Web ..... Клиентские скрипты ..... HTML/DHTML ..... Непрограммистские вопросы по web ..... Тестирование веб-сайтов ... Базы данных ... Железо ... Программы ... Игры ... Графика и дизайн ... Безопасность PC ... ЧАВО ..... Темы для FAQ ....... FAQ_WinAPI & Visual C++ ....... FAQ_ANSI C++ ....... FAQ_Borland C/C++ ....... FAQ_VB ... Срочно пАмАгите!!! ... Начинающим ..... Курсы VB и С++ ... Общение ..... Фото ....... Ботаника ....... Мягкий инструментарий ....... Железо ....... Технологии ..... Видео ..... Литературный форум ..... Наши путешествия и встречи ..... Форумные игры ..... О, спорт! Ты - мир. ..... Люди, события, даты ....... Мемориал ... Эспериментальный ..... Омск ... English forum ... Статьи ..... Обсуждение/Заказ статей. Переводы. ..... Идеи для статей ... Лента "В мире технологий" ..... Старые обсуждения ленты. ... Архив ..... Поддержка VUEngine ..... Форумы от Интернет-Журнала «Root#UA» ..... Разработка ..... Нерусское общение ....... English ... Архив вопросов по программированию ..... Новости ..... VisualBasic ..... C/C++ ....... ANSI С/С++ ....... WinAPI & Visual C++ ....... Borland C/C++ ..... Музей
 
     
Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: tar и кирилица  (Прочитано 6097 раз)
0 Пользователей и 1 Гость смотрят эту тему.
один юзер
Гость
« : 20-05-2007 17:18 » 

в линуксе архивирую tar-ом(#tar -czf) документацию с русскими названиями в виндовс Winrar-ром распаковываю а вместо букв значки, можно что нибудь с этим сделать?
Записан
RXL
Технический
Администратор

Offline Offline

Пол: Мужской


WWW
« Ответ #1 : 20-05-2007 20:23 » 

У тебя в разных ОС используются разные кодировки. Выход: не использовать в именах файлов других символов, кроме ASCII.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Наше FAQ по программированию - читаем и расширяем.
Антон (LogRus)
Глобальный модератор

Offline Offline

Пол: Мужской

Внимание! Люблю сахар в кубиках!


WWW
« Ответ #2 : 21-05-2007 06:33 » 

попробуй протись по каталогу который хочешь за архивировать утилиткой
convmv -f utf-8 -t cp1251
что бы всё перекодировать с виндовую кодировку, а затем уже архивируй
эксперементировать естественно лучше на временной папке Улыбаюсь
Записан

Странно всё это....
один юзер
Гость
« Ответ #3 : 21-05-2007 20:56 » 

RXL,
У тебя в разных ОС используются разные кодировки. Выход: не использовать в именах файлов других символов, кроме ASCII.

я архивирую каталог примонтированный smbmount находяшийся на виндовс машине
Записан
Антон (LogRus)
Глобальный модератор

Offline Offline

Пол: Мужской

Внимание! Люблю сахар в кубиках!


WWW
« Ответ #4 : 22-05-2007 11:12 » 

RXL,
У тебя в разных ОС используются разные кодировки. Выход: не использовать в именах файлов других символов, кроме ASCII.

я архивирую каталог примонтированный smbmount находяшийся на виндовс машине
а вот это как раз всё равно, т.к. для tar имена каталогов в кодировке Linux машины
Записан

Странно всё это....
один юзер
Гость
« Ответ #5 : 22-05-2007 14:27 » 

а эта утилита convmv -f utf-8 -t cp1251 на виндовс машине ничего не поменяет(кодировку в именах файлов например )а вдруг она станет нечитаемой там(виндовс машине)?
ведь документы то там
Записан
RXL
Технический
Администратор

Offline Offline

Пол: Мужской


WWW
« Ответ #6 : 22-05-2007 19:46 » 

один юзер, конечно изменится! Только LogRus и не предлагал тебе делать это на шаре. Делай это с копией на локальном диске.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Наше FAQ по программированию - читаем и расширяем.
один юзер
Гость
« Ответ #7 : 26-05-2007 13:23 » 

спасибо помогло Улыбаюсь
convmv -r -f koi8-r -t cp1251 --notest /home/dir
Записан
Chuda
Гость
« Ответ #8 : 09-06-2007 10:58 » 

альтернативное решение:
в кде на значке файла с русским именем, который нужно заархивировать, нажать правой кнопкой мыши, выбрать в контекстном меню "упаковать в tar.gz" (ну или другой вариант, какой нужен), перенести на машину с виндой и нормально открыть установленной там программой.
обязательное условие: хороший коробочный дистрибутив с настройками по умолчанию. у пользователей, любящих альтернативные настройки и пересборку под себя всего и вся, этот вариант может и не сработать.

Ещё раз повторю: не ищите проблемы там, где их нет.
Записан
Руслан
Интересующийся

Offline Offline


« Ответ #9 : 18-07-2010 21:34 » 

Братцы, помогите, аналогичная ситуация, только запутаннее.
Я скопировал имена файлов в текстовый файл, открывал его в Мозилле, Интернет Эксплорере - все показывают, что кодировка DOS (CP866).
Но convmv конвертировать не хочет.
Пробовал из CP866 в cp1251 - ругается, что "cp1251 doesn't cover all needed characters", из CP866 в utf8 - утверждает. что "Skipping, already UTF-8". Блин, а как же тогда другие проги определяли CP866? Не понял
Ну ладно, попробовал конвертировать из  UTF-8, так не получается, опять "doesn't cover all needed characters" Жаль
Вот файл с моими попытками, может, кто подскажет, что это все-таки за кодировка и как ее привести к читаемому виду?

* test.txt (6.94 Кб - загружено 9 раз.)
Записан
Finch
Спокойный
Администратор

Offline Offline

Пол: Мужской

Пролетал мимо


« Ответ #10 : 18-07-2010 22:18 » 

Я сейчас посмотрел через hexeditor, тот файл, что ты приложил, он явно не в кодировке CP866. Следовательно без испытуемого, все остальное это гадать на кофейной гуше.

В приложении первый дамп твоего файла. Второй файл это я сделал файл с алфавитом в кодировке CP866. Как видиш, есть очень много символов, которые не входят в алфавит.

* prob00000000.html (9.34 Кб - загружено 11 раз.)
* alpha00000000.html (2.21 Кб - загружено 8 раз.)
« Последнее редактирование: 18-07-2010 22:35 от Finch » Записан

Не будите спашяго дракона.
             Джаффар (Коша)
RXL
Технический
Администратор

Offline Offline

Пол: Мужской


WWW
« Ответ #11 : 19-07-2010 11:09 » 

Руслан, выполни команды и покажи результат:

1. locale

2. В директории с проблемными файлами: env LC_ALL=C ls -1

Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Наше FAQ по программированию - читаем и расширяем.
Руслан
Интересующийся

Offline Offline


« Ответ #12 : 19-07-2010 20:24 » 

Результаты такие:

# locale
LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=

# env LC_ALL=C ls -1
Не понялНе понялНе понялНе понялНе понял? _?Не понялНе понялНе понялНе понял?.pdf
Не понялНе понялНе понялНе понялНе понял?_?Не понял??_?Не понялНе понялНе понял_?Не понялНе понялНе понял??.htm
Не понялНе понялНе понялНе понялНе понялНе понялНе понялНе понялНе понялНе понял??_?Не понялНе понял?_linux_??_?Не понялНе понялНе понялНе понялНе понял??_?Не понял??_?Не понялНе понялНе понялНе понялНе понялНе понялНе понялНе понялНе понялНе понялНе понял??.htm
Не понялНе понялНе понялНе понялНе понял? Не понялНе понялНе понялНе понялНе понялНе понялНе понялНе понялНе понял? Не понялНе понялНе понялНе понялНе понялНе понялНе понялНе понял?? Не понялНе понялНе понял?.htm
Не понялНе понялНе понялНе понялНе понял? Не понялНе понялНе понялНе понялНе понялНе понялНе понялНе понялНе понял? Не понялНе понялНе понялНе понялНе понялНе понялНе понялНе понял?? Не понялНе понялНе понял?_files

Приложил примеры проблемных файлов.

* Ї®¤ў Ї агб.pdf (95.68 Кб - загружено 9 раз.)
Записан
Руслан
Интересующийся

Offline Offline


« Ответ #13 : 19-07-2010 20:28 » 

Ну то есть если без смайлов, то

# env LC_ALL=C ls -1
???????????????? _??????????????.pdf
????????????????_??????_??????????_????????????.htm
????????????????????????????????_????????_linux_??_??????????????????_??????_????????????????????????????????????.htm
???????????????? ???????????????????????????? ?????????????????????????? ??????????.htm
???????????????? ???????????????????????????? ?????????????????????????? ??????????_files


* ˜ўҐавЎ®в _Њ®вл«ҐЄ.pdf (257.22 Кб - загружено 17 раз.)
Записан
Finch
Спокойный
Администратор

Offline Offline

Пол: Мужской

Пролетал мимо


« Ответ #14 : 19-07-2010 20:47 » 

Руслан, Не получается Улыбаюсь Приложенные тобой файлы у меня при скачивании автоматически записываются в utf-8 кодировке.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Руслан
Интересующийся

Offline Offline


« Ответ #15 : 19-07-2010 21:21 » 

Можно ли что-то сделать?
Записан
Finch
Спокойный
Администратор

Offline Offline

Пол: Мужской

Пролетал мимо


« Ответ #16 : 19-07-2010 21:23 » 

Вручную у тебя не получается переименовать?
Попробуй обжать файл зипом и выставить сюда архив. Может тогда не получится автомата.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
RXL
Технический
Администратор

Offline Offline

Пол: Мужской


WWW
« Ответ #17 : 20-07-2010 15:33 » 

И имя файла в атаче в ужасном виде. Как тебе все это удается, если страница и база в UTF-8...



"вертбот _Мотылек.pdf"

ls -1 | iconv -f utf8 -t cp1251 | iconv -c -f cp866 -t utf-8

И не пользуйся больше кривым софтом.



Запусти в директории с этими файлами:

Код:
#!/bin/sh

for IN in *
do
  OUT=`echo "$IN" | iconv -f utf8 -t cp1251 | iconv -c -f cp866 -t utf-8`
  echo "mv \"$IN\" \"$OUT\""
#  mv "$IN" "$OUT"
done

Когда убедишься, что имена он пишет нормальные - раскомментируй строку с mv.
« Последнее редактирование: 20-07-2010 19:04 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Наше FAQ по программированию - читаем и расширяем.
Руслан
Интересующийся

Offline Offline


« Ответ #18 : 26-07-2010 18:57 » 

Спасибо!
Все получилось (ну, почти все, пара десятков файлов оказалась еще в какой-то кодировке и криво переименовалась, дык это и руками добить не проблема Отлично ) Зато остальные пара-тройка сотен! Класс!
Еще раз огромное спасибо!
Записан
RXL
Технический
Администратор

Offline Offline

Пол: Мужской


WWW
« Ответ #19 : 26-07-2010 19:02 » 

Не за что. Улыбаюсь
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Наше FAQ по программированию - читаем и расширяем.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC