The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Как перекодировать имена файлов из CP1251 в UTF-8"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Русификация / Linux)
Изначальное сообщение [ Отслеживать ]

"Как перекодировать имена файлов из CP1251 в UTF-8"  +/
Сообщение от Droopy (?), 21-Дек-06, 17:01 
Проблема вот в чем:

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

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Как перекодировать имена файлов из CP1251 в UTF-8"  +/
Сообщение от anonymous (??), 21-Дек-06, 17:08 
http://www.linux.org.ru/books/lor-faq/lorFAQ-16.html#ss16.14
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Как перекодировать имена файлов из CP1251 в UTF-8"  +/
Сообщение от Droopy (?), 21-Дек-06, 18:31 
>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

и не фига, как были ??? так и остались

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Как перекодировать имена файлов из CP1251 в UTF-8"  +/
Сообщение от ivan (??), 29-Дек-06, 14:26 
>>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/
Мне помогло...

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Как перекодировать имена файлов из CP1251 в UTF-8"  +/
Сообщение от kvasik (ok), 24-Июн-12, 20:14 
# 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

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Как перекодировать имена файлов из CP1251 в UTF-8"  +/
Сообщение от AvdeevValentinemail (ok), 11-Апр-13, 19:43 
>[оверквотинг удален]
> 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 то же самое(((

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Как перекодировать имена файлов из CP1251 в UTF-8"  +/
Сообщение от Анатолийemail (??), 23-Авг-18, 04:52 
>>>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 одинакова).

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру