LINUX.ORG.RU

лечение double-encoded имен файлов


0

0

схема проблемы:

Бралась windows париция, сто своими cp1251 именами и открывалась в livecd opensuse. русские имена видны. отлично. сохраняем нужные файлы на флешку, удаляем винду. ставим Linux и открываем флешку уже из-под обычной opensuse. крякозяблы

делаем "ls . | enca"
вывод:
Doubly-encoded to UTF-8 from ISO-8859-5

man convmv:
How to undo double UTF-8 (or other) encoded filenames

Sometimes it might happen that you "double-encoded" certain filenames, for example the file names already were
UTF-8 encoded and you accidently did another conversion from some charset to UTF-8. You can simply undo that by
converting that the other way round. The from-charset has to be UTF-8 and the to-charset has to be the from-charset
you previously accidently used. You should check to get the correct results by doing the conversion without
"--notest" before, also the "--qfrom" option might be helpful, because the double utf-8 file names might screw up
your terminal if they are being printed - they often contain control sequences which do funny things with your
terminal window. If you are not sure about the charset which was accidently converted from, using "--qfrom" is a
good way to fiddle out the required encoding without destroying the file names finally.

Нихрена непонятно, что же делать. откуда и куда кодировать

кто-нибудь всеж вкурил это колдовство?

Заранее, спасибо

anonymous

Пример кракозяблов в студию!

Можно сделать на базе следующего:

ls | iconv -f utf8 -t ISO-8859-5 | iconv -f cp1251 -t utf8

Но надо понять какая кодировка была, для этого нужен пример. Я очень сомневаюсь что opensuse прочитала список файлов как ISO-8859-5.

Lucky1 ★★★
()
Ответ на: комментарий от Lucky1

ls Ð?аÑ?аÑ?а

ls | iconv -f utf8 -t ISO-8859-5 | iconv -f cp1251 -t utf8 iconv: недопустимая входная последовательность в позиции 0

мне вообще непонятно, что произошло.

изначально, файлы были в cp1251 кодировке и были видны нормально под! окружением локали utf-8

есть такой режим загрузки в opensuse dvd. режим восстановления. одна консоль загружается, когда.

я так делал раньше, но копировал файлы на жесткий диск под ext3. а тут на флешку скопировал. fat32.

запутался в конец, а имена восстановить позарез надо. там их больше пол сотни имен неизвестных

anonymous
()
Ответ на: комментарий от anonymous

ls . | iconv -f CP1251 -t utf-8
Наташа

anonymous
()

Надо смонтировать ntfs-3g с соответствующей локалью -o locale= как локаль называется только неприпомню.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.