четверг, 13 ноября 2008 г.

Смена локали в названии файлов

Debian/Kubuntu Linux - путь джедая: Смена локали в названии файлов.


Часто возникают ситуации, когда например, приносим файлы с русскими названиями, но в другой кодировке, нежели чем у вас. Конечно можно эту проблему решить опциями монтирования носителя, т.е. задать ей кодировку при монтировании. Ну а если вы в дебрях вашей файловой системы, вдруг обнаруживаете файлы с "кракозябрами", то как тогда быть?
Ответ прост:

# apt-get install convmv
Debian как всегда неотразим.
:-)
Это совершенно замечательная утилитка ну просто не заменимая в этом деле вещь. Понимает массу разных кодировок и не требует временных "перевалочных" директорий. Работает прям как есть.
Итак в нашей системе установлена локаль UTF8, и есть русскоязычная директория с файлом, сохраненная в кодировке ср1251 от m$.

Предварительное тестирование операции перекодирования:
$ convmv -f cp1251 -t utf8 -r (путь_к_файлам)

Запуск самой операции перекодирования названия файлов с cp1251 на utf8:
$ convmv -f cp1251 -t utf8 -r --notest (путь_к_файлам)
Ключи:
-f с какой кодировки делаем
-t на какую кодировку делаем
-r рекурсивно, т.е. включая все файлы и подкаталоги в этом каталоге
-- notest значит конвертировать файлы (а не тестировать)

А вот и пример работы:
Еще и так посмотрим:
Удачи!

Автор: SIR на 8:33

Комментариев нет: