Linguagem de caracteres não unicode no OS X

1

No Windows, sempre que estou enfrentando uma exibição incorreta de caracteres não-unicode (para mim, geralmente caracteres russos (cirílicos) podem ser exibidos como runas antigas =), eu vou para configurações regionais, defino russo como um local de sistema para não -Unicode aplicações e o problema é resolvido após o reinício.

No OS X, no iTunes, adicionei um álbum de música da banda russa e todas as strings de texto (nomes de sons) são exibidas incorretamente. No geral, todos os outros álbuns russos no iTunes estão sendo exibidos corretamente.

Onde posso ajustar o meu OS X para reproduzir o dia todo russo?

    
por Maxim V. Pavlov 21.12.2011 / 17:14

2 respostas

3

Não é o seu sistema operacional, é o iTunes que estraga as coisas. O problema que você está enfrentando é que as letras cirílicas não são codificadas como símbolos Unicode em suas tags ID3, mas sim usando certa codificação - normalmente é win1251, mas você também pode ver koi8-r e até mesmo os exóticos.

Então, o que você precisa fazer é transcodificar suas tags ID2 / ID3 originais em seus arquivos mp3 para o Unicode e, em seguida, reimportar seus álbuns para o iTunes (que entende apenas Unicode).

Aqui você pode encontrar um script Python para essa finalidade. Todo sistema OS X é baseado em Darwin e tem Python pré-instalado, então você só precisa baixá-lo (e provavelmente o dependecies) e iniciar a partir do seu console com o caminho correto para sua coleção de músicas. Eu, no entanto, recomendaria fazer backup de sua coleção de músicas antes de executar quaisquer ferramentas nela.

    
por 21.12.2011 / 17:42
2

É melhor dizer que o iTunes não suporta codificações legadas, e as pessoas que os autores rastreiam não devem usar codificações legadas:)

Obrigado, Alexander, pelo link do script ! Para os usuários do Lion, as instruções de instalação curtas: Meu OS X 10.7 não tinha python-chardet e python-eyed3 por padrão. Então, seguindo as etapas trabalhadas (talvez você possa fazer isso com menos etapas também).

sudo easy-install chardet

funcionou bem, mas > sudo easy-install eyed3 não com 0.6.17 atual, talvez funcione mais tarde.

sudo easy-install pip
sudo pip install eyed3

* (erro de instalação com 0.6.17, ignore-o)

cd build
cd eyed3
chmod a+x configure
./configure
cd ..
cd ..
sudo pip install eyed3 --no-download

agora você está pronto para recodificar como:

chmod a+x id3_to_unicode_1.1.py 

./id3_to_unicode_1.1.py /Users/<your_user>/Music/iTunes/iTunes\ Media/Music -ru
    
por 21.12.2011 / 20:12