[таки решено] Кракозябра в именах файлов

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Аватара пользователя
Valodick
Сообщения: 169
Статус: 30
ОС: ubuntu/arch

[таки решено] Кракозябра в именах файлов

Сообщение Valodick »

Прошу прощения за часто задаваемый и глупый вопрос, просто не нашел ответа.
сходил к другу за музыкой, прихватив с собой винт.
скинул все, дома имена файлов пишутся через кракозябры.
локаль стоит UTF-8

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

у друга Windows XP Professional SP3, у меня, соответсвенно, убунта, де - xfce
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: [таки решено] Кракозябра в именах файлов

Сообщение allez »

Valodick писал(а):
10.08.2009 20:10
собственно, требуется безболезненно перевести имена файлов в юникод

convmv
Спасибо сказали:
Аватара пользователя
Valodick
Сообщения: 169
Статус: 30
ОС: ubuntu/arch

Re: [таки решено] Кракозябра в именах файлов

Сообщение Valodick »

Код: Выделить всё

Your Perl version has fleas #37757 #49830
Starting a dry run without changes...
Skipping, already UTF-8: %имена файлов%
No changes to your files done. Use --notest to finally rename the files.


системная локаль UTF-8.ru_RU или что-то в этом роде, знаю точно, бо с alternate cd ставил

и еще.
Декодер Студии Артема Лебедева прекрасно перевел и сообщил следующее:
Как нам пришлось помучиться

CP866 → UTF-8

однако команда convmv -f CP866 -t UTF8 -r ./ дает абсолютно такой же вывод.
Спасибо сказали:
Аватара пользователя
uptime
Сообщения: 1661
Статус: Drinker with computing problems
ОС: kubuntu 8.04

Re: [таки решено] Кракозябра в именах файлов

Сообщение uptime »

Из сообщения понятно, что скрипту не очень нравиться установленная версия перл. Но он готов попробовать перекодировать и так. Для этого его нужно запустить с опцией --notest.

успехов
The answer, my friend, is blowin' in the wind.
The answer is blowin' in the wind.
Спасибо сказали:
Аватара пользователя
Valodick
Сообщения: 169
Статус: 30
ОС: ubuntu/arch

Re: [таки решено] Кракозябра в именах файлов

Сообщение Valodick »

Код: Выделить всё

$ convmv -f CP866 -t UTF8 -r ./ --notest
Your Perl version has fleas #37757 #49830
Skipping, already UTF-8: %имена файлов%
Ready!

результат, однако, не поменялся
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: [таки решено] Кракозябра в именах файлов

Сообщение t.t »

Файловая система-то на винте какая?
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Аватара пользователя
uptime
Сообщения: 1661
Статус: Drinker with computing problems
ОС: kubuntu 8.04

Re: [таки решено] Кракозябра в именах файлов

Сообщение uptime »

Valodick писал(а):
10.08.2009 21:31

Код: Выделить всё

$ convmv -f CP866 -t UTF8 -r ./ --notest
 Your Perl version has fleas #37757 #49830
 Skipping, already UTF-8: %имена файлов%
 Ready!

результат, однако, не поменялся


может, всё-таки перл обновить?
The answer, my friend, is blowin' in the wind.
The answer is blowin' in the wind.
Спасибо сказали:
Аватара пользователя
Voral
Сообщения: 1205
ОС: Debian Wheezy (amd64)

Re: [таки решено] Кракозябра в именах файлов

Сообщение Voral »

чет я не догоняю. А зачем вообще перекодировать то?
Имхо тут надо:
1. Проверить параметры монтирования этого винта (явно ж там нтфс или фат)
2. Возможно проблема с настройками. У меня действительно были проблемы с некоторыми именами файлов на русском. Все решилось в в этом топике

Если коротко:
- выполнил dpkg-reconfigure locales и поставил UTF8 ru
- выполнил dpkg-reconfigure console-cyrillic
- Перегрузился.
То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me © ?
Спасибо сказали:
Аватара пользователя
Valodick
Сообщения: 169
Статус: 30
ОС: ubuntu/arch

Re: [таки решено] Кракозябра в именах файлов

Сообщение Valodick »

t.t писал(а):
11.08.2009 13:40
Файловая система-то на винте какая?

ext3
uptime писал(а):
11.08.2009 13:51
может, всё-таки перл обновить?

сейчас попробую

Voral, сейчас будет)
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: [таки решено] Кракозябра в именах файлов

Сообщение diesel »

Valodick писал(а):
11.08.2009 14:38
t.t писал(а):
11.08.2009 13:40
Файловая система-то на винте какая?

ext3

а чем вы на нее из Хр писали?
Спасибо сказали:
Аватара пользователя
Valodick
Сообщения: 169
Статус: 30
ОС: ubuntu/arch

Re: [таки решено] Кракозябра в именах файлов

Сообщение Valodick »

diesel писал(а):
11.08.2009 14:39
а чем вы на нее из Хр писали?

а я просто со своего же винта и загрузился.
а вообще, вроде давно уже есть драйвер ext3 для Windows
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: [таки решено] Кракозябра в именах файлов

Сообщение eddy »

Valodick писал(а):
11.08.2009 14:44
а я просто со своего же винта и загрузился.

Ну вот в следующий раз будете правильно его ФС монтировать, а не по дефолту :)
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
Valodick
Сообщения: 169
Статус: 30
ОС: ubuntu/arch

Re: [таки решено] Кракозябра в именах файлов

Сообщение Valodick »

eddy писал(а):
11.08.2009 14:48
Valodick писал(а):
11.08.2009 14:44
а я просто со своего же винта и загрузился.

Ну вот в следующий раз будете правильно его ФС монтировать, а не по дефолту :)

:Р вот так примерно было, xfce не монтирует автоматически

Код: Выделить всё

ntfs-3g /dev/sdb1 ~/new-folder/
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: [таки решено] Кракозябра в именах файлов

Сообщение eddy »

Valodick писал(а):
11.08.2009 14:51
ntfs-3g /dev/sdb1 ~/new-folder/

В следующий раз не забывайте указывать -o locale=ru_RU.utf-8
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
Valodick
Сообщения: 169
Статус: 30
ОС: ubuntu/arch

Re: [таки решено] Кракозябра в именах файлов

Сообщение Valodick »

uptime писал(а):
11.08.2009 13:51
может, всё-таки перл обновить?

результат неизменный.
Voral писал(а):
11.08.2009 14:34
- выполнил dpkg-reconfigure locales и поставил UTF8 ru
- выполнил dpkg-reconfigure console-cyrillic
- Перегрузился.

сделал :О
по прежнему ничего не меняется.
eddy писал(а):
11.08.2009 15:09
В следующий раз не забывайте указывать -o locale=ru_RU.utf-8

учиться никогда не поздно :)


конечно мооожно делать все вручную, копируя имена файлов на сайт артемия лебедева, но хотелось бы таки более изящный вариант)
Спасибо сказали:
Аватара пользователя
Voral
Сообщения: 1205
ОС: Debian Wheezy (amd64)

Re: [таки решено] Кракозябра в именах файлов

Сообщение Voral »

говорю на вскидку. Мож и глупость скажу - не обдумывал...

Т.е вы копировали под линуксом, но (вероятно) смонтировано было не корректно (упущен параметр). Т.е. система считывала файл с именем в win1251 при этом его считала в кодирвке А (но не win1251). "Приводила" имя к вашей кодировке.... т.е. в итге получилось фиг знает какое преобразование.

Т.е. преобразовывать cp866 -> utf8 не совсем то, что нужно. Надо знать, что подразумевалось под кодировкой A.
То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me © ?
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: [таки решено] Кракозябра в именах файлов

Сообщение eddy »

Кстати, в последних версиях mc есть возможность перекодирования имен файлов при копировании. Не пробовали?
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
Valodick
Сообщения: 169
Статус: 30
ОС: ubuntu/arch

Re: [таки решено] Кракозябра в именах файлов

Сообщение Valodick »

Voral писал(а):
11.08.2009 15:21
говорю на вскидку. Мож и глупость скажу - не обдумывал...

Т.е вы копировали под линуксом, но (вероятно) смонтировано было не корректно (упущен параметр). Т.е. система считывала файл с именем в win1251 при этом его считала в кодирвке А (но не win1251). "Приводила" имя к вашей кодировке.... т.е. в итге получилось фиг знает какое преобразование.

Т.е. преобразовывать cp866 -> utf8 не совсем то, что нужно. Надо знать, что подразумевалось под кодировкой A.

всяко пробовал, и utf8 -> любая кодировка (пишет: нет всех необходимых символов, прерываю)
и cp1252 и cp1251 в качестве исходных тоже пробовал
eddy писал(а):
11.08.2009 15:40
Кстати, в последних версиях mc есть возможность перекодирования имен файлов при копировании. Не пробовали?

сейчас взял и попробовал
обыная кракозябра превратилась в черные ромбики с заключенными внутрь вопросиками
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: [таки решено] Кракозябра в именах файлов

Сообщение diesel »

а конвертирование как для зип-файлов не подойдет? попробуйте выполнить

ls | iconv -f iso8859-1 -t cp850 | iconv -f cp866 -t utf8

или

ls | iconv -f iso8859-1 -t cp850 | iconv -f cp1251 -t utf8
Спасибо сказали:
Аватара пользователя
sirocco
Сообщения: 782
Статус: Задвинутый соучастник

Re: [таки решено] Кракозябра в именах файлов

Сообщение sirocco »

eddy писал(а):
11.08.2009 15:09
В следующий раз не забывайте указывать -o locale=ru_RU.utf-8

Для ntfs-3g >=2009 уже не нужно.
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: [таки решено] Кракозябра в именах файлов

Сообщение eddy »

sirocco писал(а):
11.08.2009 16:17
Для ntfs-3g >=2009 уже не нужно.

Ну, не знаю, у меня локаль кои8, автоматом ntfs-3g ее не распознает.
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
sirocco
Сообщения: 782
Статус: Задвинутый соучастник

Re: [таки решено] Кракозябра в именах файлов

Сообщение sirocco »

А, кои8...

http://www.ntfs-3g.org/releases.html
...
STABLE Version 2009.1.1 (January 22, 2009) -- Release Notes
...
* Change: The 'locale=' mount option is not used anymore for filename characterset conversion. Instead filenames are always converted to UTF-8.
...
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: [таки решено] Кракозябра в именах файлов

Сообщение eddy »

sirocco писал(а):
11.08.2009 16:38
Instead filenames are always converted to UTF-8.

Странно... у меня на мандриве 2009.0 работает :) Надо будет проверить на 2009.1.
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: [таки решено] Кракозябра в именах файлов

Сообщение t.t »

diesel писал(а):
11.08.2009 15:57
а конвертирование как для зип-файлов не подойдет? попробуйте выполнить

ls | iconv -f iso8859-1 -t cp850 | iconv -f cp866 -t utf8

или

ls | iconv -f iso8859-1 -t cp850 | iconv -f cp1251 -t utf8
Может быть тогда проще поставить enca, чем перебирать вручную комбинации кодировок?..
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: [таки решено] Кракозябра в именах файлов

Сообщение diesel »

t.t писал(а):
12.08.2009 22:06
diesel писал(а):
11.08.2009 15:57
а конвертирование как для зип-файлов не подойдет? попробуйте выполнить

ls | iconv -f iso8859-1 -t cp850 | iconv -f cp866 -t utf8

или

ls | iconv -f iso8859-1 -t cp850 | iconv -f cp1251 -t utf8
Может быть тогда проще поставить enca, чем перебирать вручную комбинации кодировок?..

да :) если она есть, а если нет - то нужно будет еще рассказывать как ее ставить. Помнится были новости о том что enca скорее мертв, чем жив.
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: [таки решено] Кракозябра в именах файлов

Сообщение t.t »

diesel писал(а):
13.08.2009 14:03
t.t писал(а):
12.08.2009 22:06
Может быть тогда проще поставить enca, чем перебирать вручную комбинации кодировок?..
да :) если она есть, а если нет - то нужно будет еще рассказывать как ее ставить. Помнится были новости о том что enca скорее мертв, чем жив.
У автора темы один из дистров -- убунта. В ней есть точно: http://packages.ubuntu.com/enca

Что проект "мёртв" в смысле "не развивается" -- это да. Но ты ведь знаешь, что в юниксах часто не развивается не то, что никому не нужно, а наоборот -- то, что уже и так хорошо работает. По моему опыту, это -- как раз тот случай.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: [таки решено] Кракозябра в именах файлов

Сообщение eddy »

t.t писал(а):
13.08.2009 19:12
Но ты ведь знаешь, что в юниксах часто не развивается не то, что никому не нужно, а наоборот -- то, что уже и так хорошо работает. По моему опыту, это -- как раз тот случай.

+1
сам пользуюсь enconv'ом - очень удобно, т.к. не надо гадать, что же за кодировка у файла. Правда, иногда бывают проблемы - но это очень редко.
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
Valodick
Сообщения: 169
Статус: 30
ОС: ubuntu/arch

Re: [таки решено] Кракозябра в именах файлов

Сообщение Valodick »

в общем, enca тоже не помогла
Спасибо сказали:
Аватара пользователя
Valodick
Сообщения: 169
Статус: 30
ОС: ubuntu/arch

Re: [таки решено] Кракозябра в именах файлов

Сообщение Valodick »

Код: Выделить всё

~$ enca -c ./1/*
enca: Cannot convert `%filenames%' from unknown encoding

Код: Выделить всё

~$ enca -gd ./1/*
%filenames%: Unrecognized encoding
Failure reason: Sample is just garbage.
Спасибо сказали:
Аватара пользователя
Voral
Сообщения: 1205
ОС: Debian Wheezy (amd64)

Re: [таки решено] Кракозябра в именах файлов

Сообщение Voral »

Помнится приходли мне как то письма в крякозяберном формате (и при этом установка кодировки письма не помогала).
Я копировал это письмо в буфер обмена, вставлял в фаре в редактор и щелкал различные кодировки. При этом игрался как с кодировкой письма в почтовике, так и в редакторе на момент вставки.... Прокатило..... Но там вариантов не особо много было :) В прочем и в твоем они достаточно четко могут быть установлены:
1 Кодировка как на диске с ntfs (или fat)
2 кодировка за какую кодировку принял линукс кодировку на том нтфс
3 твоя кодировка в линуксе

Играть нужно только с ними. Можно попробовать скинуть список файлов в текстовый файл и попробовать работать как с текстом.

ИМХО стандартный метод тут не прокатит.

Второй метод. Если речь идет о музыке. Вероятно в нутрях файла есть инфа о названии исполнителя, альбома, песни.... Может есть возможность вытащить это от туда и переименовать соответственно файл... Тут я слишком чайник что б занть как в линуксе это сделать. Но может кто подскажет?
То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me © ?
Спасибо сказали: