Проблема вот в чем:linux, debian.
раньше в системе основной локалью была CP1251, теперь я перешел на UTF-8.
В системе есть дисковый раздел с файловой системой reiserfs на которой хранится много файлов. Так вот, бытностью CP1251 там было создано много файлов с русскими именами в CP1251 кодировке. При смене локали на UTF-8 все эти имена отобразились как ????????.
Даже если файловую систему просматривать через броузер с выставленной кодировкой CP1251 всё равно имена файлов - ?????. Как можно перекодировать эти ???? в нормальные русские UTF-8.
http://www.linux.org.ru/books/lor-faq/lorFAQ-16.html#ss16.14
>http://www.linux.org.ru/books/lor-faq/lorFAQ-16.html#ss16.14
запускаю :
convmv --notest -f cp1251 -t utf8 -r --qfrom --qto path/to/filesи не фига, как были ??? так и остались
>>http://www.linux.org.ru/books/lor-faq/lorFAQ-16.html#ss16.14
>
>
>запускаю :
> convmv --notest -f cp1251 -t utf8 -r --qfrom --qto path/to/files
>
>и не фига, как были ??? так и осталисьПопробуй:
http://linux.alhimia.ru/projects/bash-scripts/NLS_repair/
Мне помогло...
# cd /usr/ports/converters/convmv
# make all install clean# convmv
su: /usr/local/bin/convmv: /usr/bin/perl: плохой интерпретатор: No such file or directory
# ln -s /usr/local/bin/perl /usr/bin/perlСписок кодировок:
# convmv --listИтак, посмотрим на что способен:
# convmv -f cp1251 -t utf8 ./*
Starting a dry run without changes...
mv "./----- ----- MySQL specialist.ru" "./Видео курсы MySQL specialist.ru"Теперь с реальными изменениями:
# convmv -f cp1251 -t utf8 ./* --notest -r
>[оверквотинг удален]
> su: /usr/local/bin/convmv: /usr/bin/perl: плохой интерпретатор: No such file or directory
> # ln -s /usr/local/bin/perl /usr/bin/perl
> Список кодировок:
> # convmv --list
> Итак, посмотрим на что способен:
> # convmv -f cp1251 -t utf8 ./*
> Starting a dry run without changes...
> mv "./----- ----- MySQL specialist.ru" "./Видео курсы MySQL specialist.ru"
> Теперь с реальными изменениями:
> # convmv -f cp1251 -t utf8 ./* --notest -rУважаемые! Делаю так как пишете но все равно остаются ???? Хотя ....
convmv -f CP1251 -t UTF-8 * -r
Your Perl version has fleas #37757 #49830
Starting a dry run without changes...
Skipping, already UTF-8: ./Исполнитель(кириллица)-Название файла(кириллица).mp3
No changes to your files done. Use --notest to finally rename the files.
И с --notest то же самое(((
>>>http://www.linux.org.ru/books/lor-faq/lorFAQ-16.html#ss16.14
>>
>>
>>запускаю :
>> convmv --notest -f cp1251 -t utf8 -r --qfrom --qto path/to/files
>>
>>и не фига, как были ??? так и остались
> Попробуй:
> http://linux.alhimia.ru/projects/bash-scripts/NLS_repair/
> Мне помогло...Ситуация возникает нередко, но чаще всего когда вы на на ХР и системная кодировка стоит не CP1251. Если нет, то и проблем нет. Работайте в CP1251 и будет вам счастье! Это собственно проблема utf-8. Сейчас всем её навязывают, все современные Оси винда или линукс в качестве системной используют utf-8. Ну и например вы закачиваете архивы файлов из нета, а в архиве имена в CP1251. Распаковывает она как есть. Но ваши файловые обозреватели видят всё в utf-8. Ну и вы собственно намерены дальше использовать эти файлы в системе с utf-8. Что сделал я? Распаковал под ХР(для гарантии не испортить имена) потом вернулся в свою Leap 15, там вот такая билиберда и запустил утилиту. Вначале не вышло. Ну потому что у меня стояла кодировка терминала CP1251. Я поменял её на utf-8(у меня konsole это легко сделать) и ещё раз запустил. И Ба всё получилось... Ни один символ не исказился. Я проверил имена те же, но в др кодировке. А вообще рекомендую использовать ascii-7(первую половину таблицы, она во всех ASCII кодировках и utf-8 одинакова).