2013-06-05 59 views
0

使用mp3agic Unicode的標籤,我嘗試使用mp3agic閱讀在Java中的俄羅斯歌曲標籤:廢話結果讀入Java中

Mp3File song; 
try { 
    song = new Mp3File(newURI); 
    if (song.hasId3v2Tag()) { 
     ID3v2 id3v2tag = song.getId3v2Tag(); 
     title = id3v2tag.getTitle(); 
     artist = id3v2tag.getArtist(); 
    } 
    else if (song.hasId3v1Tag()){ 
     ID3v1 id3v1tag = song.getId3v1Tag(); 
     title = id3v1tag.getTitle(); 
     artist = id3v1tag.getArtist(); 
    } 
} 

但是我得到這個「?? - 2 ???????? ?「?」而不是這個「Би-2СкользкиеУлицы」。 我能做些什麼來解決這個問題?

回答

1

這個問題的解釋,可以發現:https://github.com/mpatric/mp3agic/issues/39

總之,問題是,文本編碼爲Windows-1251(也稱爲CP1251)。帶有windows-1251編碼字符串的ID3v2標籤(或任何其他編碼不是ID3v2支持的4種編碼之一)無效。將windows-1251與iso-8859-1進行編程區分並不容易,因此自動檢測字符串以便對其進行轉碼可能會非常棘手。

一些有趣的意見在這裏:https://superuser.com/questions/495775/how-to-translate-wacky-metadata-to-readable-format