[爆卦]foobar2000中文亂碼是什麼?優點缺點精華區懶人包

為什麼這篇foobar2000中文亂碼鄉民發文收入到精華區:因為在foobar2000中文亂碼這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者jumpdc (CD無限購入)看板AVEncode標題[教學] foobar2000 tag亂碼...


tag(標籤)大致上分成ID3跟Ape還有Mp4之類的,記錄著曲子的資訊

如歌名、演唱者、專輯名稱。每種音樂格式都有比較常用的標籤資訊

這個日本wiki的連結有比較詳細的資料

http://foobar.s53.xrea.com/fbwiki/index.php?foobar2000%A4%C8%A5%BF%A5%B0%A4%CB
%A4%C4%A4%A4%A4%C6

這是縮短後的連結http://0rz.net/f407n

最上面是foobar程式中讀入的標籤、再來是寫入、最後是其他程式中常用的標籤

打個比方APE這種格式可以讀的標籤有ApeTagv1 / ApeTagv2 / ID3v1

寫入時則會把ApeTagv1跟ID3v1全改成ApeTagv2,大概說的就是這些,看一下就可以了

而每一種Tag有什麼差別可以看一下這網頁http://www.audio100.com/4/98.htm

但這些都不是本篇的重點


現在大家最常用的音樂格式是mp3,mp3的標籤比較常被大家所使用的就是ID3v1和ID3v2

但在foobar這個撥放程式中,從安裝就要開始注意,不然可能會遇到讀不到tag

tag為亂碼,等等問題,這篇文章就是告訴你該怎麼解決這問題。


下載的時候請下載Normal或Special,其中才支援ID3v2的讀取

安裝的時候記得勾選ID3v2 tag support(在Optional components→General底下)



先說在foobar中讀取tag的問題(就是還沒做任何更動,一撥放時就有亂碼)

這可能有兩種情況

1.是前陣子foo_id3v2.dll這檔案的問題:

這裡指的是在其他撥放程式下都正常,檔案可能從屁屁音樂網之類的空間下載

用軟體查看過後tag的編碼都是Big5碼,那可能就是這檔案發生問題

可以到foobar2000安裝的資料夾底下,進components看這檔案是不是九月九日的

並且去官方網站下載舊的檔案http://www.foobar2000.org/foo_id3v2.zip

壓縮檔中的foo_id3v2.dll日期應該是七月二十二,將檔案放到剛說的資料夾下

覆蓋原始的檔案。再點選歌曲撥放,應該就沒有問題了。

如果還是亂碼,可以試試在檔案上按右鍵,選Database→Reload info from file(s)


「另一種作法比較簡單,進Preferences→ID3v2 tag suppot,將裡面第三個選項

(Decode and write ISO...)勾起來,應該就可以了,如果沒有改變,

一樣照著Database那個步驟來做。可以的話,我還是希望大家用下載檔案覆蓋的方式

這個作法僅供參考,還不行的話請看第二步」

2.可能是檔案編碼的問題,就像連到大陸的網站,要更改網頁的編碼一樣

tag也需設定成適當的編碼,這裡有兩種做法,任選其一即可。

Ⅰ.用ConvertZ這軟體來調整tag的編碼:

http://alf-li.tripod.com/c_index.html 下載後開啟ConvettZ的主程式

對著右下角的縮圖按右鍵,選MP3的ID3標籤轉換

此時會跳出個視窗,左邊的地方可以讓你選取檔案,右邊則分上下兩個部分

上面是ID3v1,下面是ID3v2,還分成變換前跟變換後的預覽結果

基本上如果來源編碼跟輸出編碼選Big5都沒有問題的話,那這mp3檔案就沒有必要

改變編碼,一般來說如果你的音樂來源是用P2P軟體及連到大陸網站或日本網站下載

才有可能是編碼的問題,大陸用GB碼,日本用Shift-JIS,將來源設成適當的編碼

並輸出為Big5碼,預覽過後沒有問題的話就可按下轉換的按鍵。還可以把ID3v2.3存成

Unicode-Le的型式(*這點在之後會提到),預覽結果旁會出現(ULE)

就能將Tag就存成Unicode的了。

Ⅱ.想在foobar中轉換編碼的話,可以利用Special file info box這個plugin

在Special版中安裝時可從Optional components→General底下可以找到

或是從這裡下載http://pelit.koillismaa.fi/plugins/general.php#8

(內建於Special版的plugin版本會比較舊,不過應該沒什麼差別)

把foo_infobox.dll放到foobar2000\components資料夾下

執行foobar2000後,要先更改設定。進Preferences→Components→

Special file info,將Override codepage跟下面的Display "Override codepage"

都勾選,接下來對有亂碼的歌曲按右鍵,選Show file info(Special)

跳出的視窗中,下面就有可以選編碼的,還可以及時看到文字的改變

那麼多個編碼,一定有一個是正確的,一但確定了,就按Update

他會把你的編碼轉成正確的後,存成Unicode(*待會會解釋)。

也有其他的plugin有轉換編碼的功能,像Codepage Conversion

它是一個附屬在masstagger的指令,masstagger可以大量的更改檔案的標籤

例如把這幾首的演唱者都改成一樣的之類,而加上了這功能,masstagger就可以

大量轉換tag的編碼,但是無法預覽,我覺得不太方便(怕轉錯還要先備份),

且之前提到的ConvertZ也有全選所有檔案的功能,所以我不需要,

有興趣的人自己下載用用看http://pelit.koillismaa.fi/plugins/tagging.php#60


到這裡為止,亂碼的問題已經告一段落,大部分的問題應該可以解決了

還不行的話,那就再發文詢問吧。



接下來談談在foobar2000中有關一些寫入Tag的設定,還有粗略解釋一下Unicode的Tag

(包括剛才有用到Special file info box來更改編碼,也算寫入Tag的一種)


1.Foobar2000→Preferences,展開Compenents後,選ID3v2 tag support這項,

右邊則有四個可勾選的欄位。正常來說只有第二項是選取的

但什麼時候需要勾選第一項及第三項(Always writes ISO..及Decode and write ISO..)


在一般情況下,在foobar中更動Tag的資訊,例如曲目名稱錯了,來改一下

這時候存入的Tag的資訊(包括原有的)就會全置換UTF-16,也就是Unicode,萬國碼

代表說今天你轉換系統編碼到日文底下去做事,開foobar來聽歌時不會發現

歌名怎麼都變亂碼,且傳中文歌給日本人,他們也能正常顯示曲名、歌手等資料

反之如果不是Unicode,就會產生許多麻煩,這就是為什麼我們之前要用ConvertZ

和plugin來修正Tag編碼的原因,所以說存成Unicode其實是好的,


但某些時候,我們並不要它存成Unicode。好比某些很早期的撥放程式不支援時,

或者市面上有些mp3 player不支援,你就不能讀到歌曲的資訊,

此時,試試勾選第一和第三項,再對檔案按右鍵選Properties

或之前提到的Show file info(Special)

只要按一下Update,foobar就會依據你現在的系統,自己置換Tag成適當的編碼

(如繁體中文就存成Big5碼)而用ConvertZ這軟體來觀看mp3 Tag的話

Tag是Unicode的情況下,ID3v2「檢視標籤」這字的旁邊就會顯示(ULE)

這也是一個分辨的方法。如果沒什麼問題的話,其實是不用變動這選項的。



2.接下來用foobar寫入標籤時候,還有一個要注意的地方

Preferences→Playback→Input→Standard inputs的最上方

記得文章一開頭的時候有說過,foobar會根據你的音樂檔類型,

來決定該寫入什麼型式的Tag,只有Mp3可以手動設定,就在這裡。

沒在這裡設定的Tag,在foobar中 選Update後,就會被自動刪去

如果你設定Apev2及ID3v1的話,只要有在foobar中更改資訊,就會刪去ID3v2的資料。

雖然在foobar中感覺好像沒有改變,但用其他撥放程式撥的話,

因為不支援Apev2所以只能讀取ID3v1,而ID3v1的限制在於可存的字數過少,

假使曲名很長,有可能無法顯示全部的名稱。

而且ID3v1不像ID3v2一樣支援Unicode,所以如果你轉換系統到日文底下

用其他撥放程式撥放歌曲的時候可能出現亂碼

(如果用foobar2000撥,因為Apev2支援Unicode,且讀取順序高於ID3v1

所以不會有這種情況。)


要用什麼tag其實是個人選擇的問題,也不必想太多。而Apev2也不是不好

只是目前還比較少人使用,所以我選ID3v1和ID3v2,

其他軟體中,可改更改ID3的程式也很多,可改Apev2的軟體蠻少的

這也是我考慮的一個重點。


最後是freedb masstagger的設定

freedb是連上伺服器搜尋歌曲資料的一種方式,如果擁有整張專輯

那麼用這方式來寫入Tag,簡單又快速。

在Special版安裝程式中,是位於Optional components→General底下

或連到這裡http://pelit.koillismaa.fi/plugins/tagging.php#14

下載Plug DLL,同樣是放到foobar2000\components中

再來比較特別的是去同樣的網頁,還要下載Mutilanguage support dll

將iconv.dll這檔案放到foobar2000資料夾下就好,跟其他的有點不同

這個檔案的用途是可以在freedb masstagger中,調整想要的資料編碼


全弄好了之後,對著整張需要下載Tag的專輯按右鍵(曲目順序要對)

選freedb→Get tags,如果有資料的話就會跳出一個freedb masstagger的視窗

上方的欄位可以讓你選取不同的結果,可能是不同人上傳的資訊吧

中間有一格寫著iso-latin-1的按鈕,如果剛才iconv.dll這檔案有放對

這裡就可以點選不同的編碼。

下面就是讓你預覽曲目的資訊。


有時候連到伺服器後,會有兩種情況,一種是資料全為????,一種是亂碼

iconv.dll是用途就是用來解決亂碼,中文的專輯就選Big5,英文的基本上不會有問題

其他語言就自己按按看。

而全是???的情況下是伺服器的問題,試著連到其他伺服器


切換伺服器可在任一檔案上按右鍵,選freedb→Configure

freedb server的地方按右邊的箭頭自由切換即可。比較有問題的會是日文

可以用這個server http://freedbtest.dyndns.org:80/~cddb/cddb.cgi

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 221.169.12.123
hjdmeury:好複雜的標簽系統...總算知道為何標簽會錯 218.160.39.188 01/13
hjdmeury:亂,原來是APEv1&2和ID3v2的互不相容格式 218.160.39.188 01/13
hjdmeury:foobar的設定也未免太複雜了點... 218.160.39.188 01/13
※ 編輯: jumpdc 來自: 221.169.12.123 (02/02 14:25)
iht:推~我終於成功看到非亂碼的歌名了><感謝! 218.171.210.220 02/07

你可能也想看看

搜尋相關網站