LINUX.ORG.RU
ФорумAdmin

Как перекодировать имена файлов из CP1251 в UTF-8


0

0

Проблема вот в чем:

linux, debian. раньше в системе основной локалью была CP1251, теперь я перешел на UTF-8. В системе есть дисковый раздел с файловой системой reiserfs на которой хранится много файлов. Так вот, бытностью CP1251 там было создано много файлов с русскими именами в CP1251 кодировке. При смене локали на UTF-8 все эти имена отобразились как ????????. Даже если файловую систему просматривать через броузер с выставленной кодировкой CP1251 всё равно имена файлов - ?????. Как можно перекодировать эти ???? в нормальные русские UTF-8.

спасибо

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

господа, я перепробовал и comvmv и скрипт из faq - не фига не отрабатывает, как имена файлов были ???? так и остаются.

может быть эти скрипты работают только в случае koi8-r в cp1251 и наоборот, но не для utf-8?

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

>как имена файлов были ???? так и остаются.

Сначала стоит переименовать файлы, а потом менять локаль

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

Попробуй ls >files, а потом iconv -f cp1251 -t utf8 files >files.1

И еще посмотри вывод ls в виде hexdump, чтобы убедиться, что это действительно имена в cp1251 (а не настоящие вопросики)

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