LINUX.ORG.RU
решено ФорумAdmin

Перекодировать имена файлов

 


0

1

На ftp некто залил файлы с русскими именами в неродной кодировке. В консоли отображаются знаками вопроса. Пробовал явно указывать кодировку при чтении каталога:

LANG=ru_RU.utf8 ls
LANG=ru_RU.cp1251 ls
LANG=ru_RU.koi8r ls
Всё равно знаки вопроса, хотя если зайти на ftp под виндой через FileZilla, то русские буквы видны. Как определить что там за кодировка и как перекодировать их в кошерный utf8?

★★★★★

Это ls | iconv -f Latin1 -t cp850 | iconv -f cp866 дало какой-нибудь человеческий вывод? Можно попробовать прогнать вывод ls через enconv?

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

Так, вспоминаем, что кроме переменных LANG и LC_ALL есть ещё такой инструмент как iconv..

ls | iconv -f WINDOWS-1251 -t UTF-8

Эта команда позволяет в консоли прочитать правильные имена файлов, вопрос как теперь их перекодировать, так чтобы рекурсивно с подкаталогами, это скрипт ведь писать надо?

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

Рекурсивно с подкаталогами есть convmv. А та команда только ради того, чтобы убедиться, в какой кодировке были названы файлы.

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