Який же метод розв'язання проблеми вибрати? Дехто радить створити окрему локаль і запускати плеєр під нею. Я все ж таки рекомендую перекодувати колекцію музики. Скористаємося для цього утилітою mid3iconv.
Спочатку необхідно встановити пакет python-mutagen, саме у ньому й міститься потрібна нам утиліта:
sudo apt-get install python-mutagen
А тепер знаходячись у папці з музичними файлами даємо у терміналі наступну команду:
find -name "*.mp3" -print0 | xargs -0 mid3iconv -e CP1251 -d
Тобто ми знаходимо усі файли *.mp3 у вибраній папці, виводимо їх особливим чином (опція -print0 означає виведення переліку файлів в один рядок розділяючи їх символом null), потім через конвейєр (символ |) передаємо перелік файлів команді xargs з параметром -0 яка виокремлює з отриманого переліку імена файлів і передаючи кожен з них у стандартний поток вводу викликає команду mid3iconv власне вже для конвертації у юнікод. Опція -e вказує початкове кодування (у даному випадку CP1251), а опція -d виводить на екран результати конвертації.
Все. Віднині всі плеєри всі Ubuntu будуть відображати теги коректно.
Щоб не згадувати постійно цю команду коли вам принесуть нову музикі, можна просто написати ще один скрипт для Nautilus. Для цього у папці ~/.gnome2/nautilus-scripts створимо файл з назвою "Конвертація mp3-тегів з CP1251 до UTF-8" наступного змісту:
#!/bin/bash
find -name "*.mp3" -print0 | xargs -0 mid3iconv -e CP1251 -d
Поставимо тепер у властивостях галочку на можливість виконання цього файлу як програми і тепер у меню Сценарії з'явиться новий пункт. Тепер достатньо просто зайти у папку з музикою, клацнути у будь-якому місці правою кнопкою мишки і запустити цей файл церез підменю Сценарії. Теги усіх файлів у даній папці буде переконвертовано в юнікод і тепер вони будуть вірно відображатися у плеєрі.
Дякую, корисна порада. Теги не тільки в Ubuntu успішно відображаються, а й на телефоні(на SE перевірив, Nokia теж повинна фуричити), де є проблема з відображенням кириличних тегів.
ВідповістиВидалитичи можна якось рекурсивно перекодовувати? тобто починаючи з деякої теки?
ВідповістиВидалитиНе впевнений, що зрозумів питання...
ВідповістиВидалитину в запропонованому варианті перекодується лише 1 тека (обрана) а в мене дуже багато файлів з неправильним кодуванням - чи можна їх за 1 раз перекодувати а не пігати по кожнії теці і виконувати скрипт?
ВідповістиВидалититобто наприклад в мене є така структура:
Музика/Виконавець1
Музика/Виконавець2
щоб я зайшов в теку Музика - виконав якийсь скрипт та в мене за один раз перекодувались всі файли в теках Виконавець1, Виконавець2?
Дивно, бо в мене саме так ця команда й працює, обходячи підкаталоги. Ну можеш спробувати додати для команди find опцію -depth
ВідповістиВидалитиХех :)
ВідповістиВидалития не пробував і думав що не буде працювати а тут - дійсно працює :)
дякую
Чому в мене на примонтованих дисках не працює? Себто поза Home :( ПРиходиться копіювати на робочий стіл, перекодувати і пізніше повертати назад в привичне розташування :((
ВідповістиВидалитиТому що проблема у праві на запис файлу.
ВідповістиВидалити