Znaki cyrylicy pokazują się w bełkotach jako bełkot

11

Mam bułgarskie / rosyjskie piosenki, które zawierają cyrylicy. Nautilus wyświetla je dobrze, ale w rhythmbox wszystkie informacje id3tag są wyświetlane jako bełkot.

Ustawiłem język systemu na rosyjski (UTF-8).

Pobrałem program o nazwie mp3diags, za pomocą którego próbowałem przekonwertować tagi id3 na utf-8, ale zamiast bełkotu utwór był wyświetlany chińskimi literami.

Próbowałem użyć EasyTag, ale nie mogłem dowiedzieć się, jak masowo zmienić nazwy tytułów utworów lub przekonwertować je na UTF-8.

PS Niektóre utwory są wyświetlane bezpośrednio w skrzynce rytmicznej (tzn. Dobrze widzę nazwę wykonawcy, album, tytuł utworu - wszystkie napisane cyrylicą), czy to oznacza, że ​​problem tkwi w moich utworach? Jeśli ktoś miałby podobny problem, byłbym bardzo wdzięczny za informacje na temat jego rozwiązania.

Lubomir
źródło
Istnieje powiązany błąd, który może mieć z tym coś wspólnego. Zostało to naprawione teraz bugs.launchpad.net/ubuntu/+source/rhythmbox/+bug/992154
Zilvador

Odpowiedzi:

7

Jest to częsty problem z cyrylicowymi identyfikatorami id3tag zakodowanymi w systemie Windows.

Istnieje skrypt python, tag2utf , możesz spróbować naprawić kodowanie.

Wystarczy umieścić skrypt w tym samym folderze, w którym znajdują się utwory, uruchomić go python ./tag2utf-0.16.pyi postępować zgodnie z instrukcjami.

Podobno istnieje również inne narzędzie, mid3iconv. Jest to część python-mutagenpakietu w repozytoriach.

mikewhthing
źródło
Dziękuję Ci! To działało idealnie. Natknąłem się na ten sam skrypt podczas wyszukiwania w Google, ale nie miałem pojęcia, jak go wykonać. Teraz Rhythmbox rozpoznaje wszystkie piosenki.
Lubomir,
To niesamowity skrypt. Działa świetnie! Wystarczy wybrać „c” dla każdego monitu. Chciałbym, żeby to rekurencyjnie.
IgorGanapolsky
1
@IgorG. Usuń drugą parę charsets = {'cp1251':'c','koi8-r':'k' }i gotowe
defhlt
Dziękuję bardzo, to również działało idealnie dla mnie. Musiałem zainstalować pakiet python-eyed3 w Ubuntu 15.04, ale skrypt był doskonały. :)
levlaz