主頁 > 知識庫 > Linux下文件名、文件和mp3名字、pdf的亂碼問題

Linux下文件名、文件和mp3名字、pdf的亂碼問題

熱門標(biāo)簽:服務(wù)器配置 百度競價點擊價格的計算公式 電話機(jī)器人搭建 美團(tuán) 家政服務(wù)網(wǎng)絡(luò) 硅谷的囚徒呼叫中心 解決方案 外呼系統(tǒng)

如果是剛剛從windows轉(zhuǎn)到Linux下的,通常都會因為一些中文的問題而放棄,我就是這樣裝上,卸載搞過好幾次,其實這種心態(tài)是永遠(yuǎn)都學(xué)不到東西的,真正的學(xué)者都具有一顆大無畏的精神,在他們的字典里是找不到退縮的,好了,不扯了,下面轉(zhuǎn)入正題。

    這里我用到了三個工具,convmv, iconv, python-mutagen.分別處理上述三個問題,下面一一介紹:

    convmv 實現(xiàn)文件名字的轉(zhuǎn)換:
    sudo apt-get install convmv
    convmv -f code1 -t code2 -r

    code1:目錄原來使用的字符集編碼。支持gb2312, gbk, big5,不支持gb18030和big5-hkscs
    code2:預(yù)轉(zhuǎn)換到的字符集編碼。對于ubuntu,這里填寫utf8

    -r 參數(shù):轉(zhuǎn)換子目錄
    -f : from
    -t : to
    dir:要轉(zhuǎn)換的目錄

    man convmv查看幫助文件,這個非常有用,學(xué)會看Linux的幫助文檔對于Linux和英語的學(xué)習(xí)都有很大益處,強(qiáng)烈建議大家多使用man命令:)

    iconv實現(xiàn)文件內(nèi)容的轉(zhuǎn)換:

    iconv -f code1 -t code2 oldfile > newfile

    其他命令和參數(shù)請大家使用man進(jìn)行查閱,并不是我懶,我是不想讓大家變懶,不管怎樣,我們都應(yīng)該自己去體會這個過程,這樣才能把它真正學(xué)會。

    python-mutagen---mp3 ID3 tags設(shè)置工具
    Mutagen 是一個用來處理聲音相關(guān)數(shù)據(jù)的 Python
    模塊.它支持 ID3(所有版本),APEv2,Ogg Vorbis,FLAC和Ogg
    FLAC讀取,以及ID3v1.1,ID3v2.4,APEv2,Ogg Vorbis,FLAC還有Ogg
    FLAC信息寫入.也可以用來讀取MPEG音頻和Xing標(biāo)題.FLAC流信息塊,以及Ogg vorbis,Ogg
    FLAG流標(biāo)題.最后,它包含一個處理Ogg 流的模塊.
    mid3v2 -a artist -A album -t title -c comment -g genre mp3file
    設(shè)置mp3file的ID3 tags
    find . -iname "*.mp3" -execdir mid3iconv -e GBK {} \;
    
    這會轉(zhuǎn)換當(dāng)前目錄其子目錄中的 mp3 文件標(biāo)簽編碼為正確的 utf8,-execdir意思是對查到的每個文件執(zhí)行后面的shell腳本,腳本中-e GBK意思是文件原來使用的字符集編碼,讀者還可以man find一下,看看-iname和-name的區(qū)別,呵呵,總是喜歡給你們賣關(guān)子:)
    PDF亂碼問題解決:
    第一步,安裝中文語言支持包:
    sudo apt-get install xpdf-chinese-simplified xpdf-chinese-traditional
    安裝完后打開pdf文檔,如果發(fā)現(xiàn)仍然是亂碼,進(jìn)行第二步,安裝安裝poppler-data:從8.04開始,源中開始提供poppler-data安裝包的支持,可以直接輸入命令
    sudo apt-get install poppler-data
    或者去官方下載tar.gz壓縮包自己安裝,網(wǎng)址是
    http://poppler.freedesktop.org/
    ,自己編譯安裝,在此不在熬述
    若第一,二步完成后,打開pdf文檔中文亂碼都變成方塊的話,就進(jìn)行第三步,刪除字體
    sudo rm /etc/fonts/conf.d/49-sansserif.conf
    好了,到這里,相信大家可以開心的使用Linux了,我是很開心啦,一次性解決了亂碼問題是一方面,另一方面,今天我的blog被Google收錄了,呵呵,這就意味這我的這些筆記可以給更多的人提供參考了,同樣我的筆記也借鑒了很多人的筆記,正所謂取之于民,用之于民也 :)

只需要把mp3標(biāo)簽里面用gbk、gb18030、big5等編碼存儲的中文內(nèi)容修改為Unicode編碼,那么基本上所有Linux下的播放器都能正常識別mp3標(biāo)簽了。
關(guān)于mp3編碼的轉(zhuǎn)換,介紹一個工具----Mutagen,假如你安裝了Quod Libet,那么這個包已經(jīng)安裝上去了。如果沒有,執(zhí)行下列命令就可以了。 

sudo apt-get install python-mutagen 

工具的使用方法 

#轉(zhuǎn)換mp3文件所在的目錄下,執(zhí)行:
         mid3iconv -e gbk *.mp3  
#轉(zhuǎn)換當(dāng)前目錄下所有mp3文件(包括子目錄)執(zhí)行:
         find . -iname "*.mp3" -execdir mid3iconv -e gbk {};
如果覺得每次都要輸入命令很麻煩,也可以建立個shell腳本來批量轉(zhuǎn)換:
          新建文件,寫入:


復(fù)制代碼
代碼如下:

#!/bin/sh
IFS=""
find . -iname "*.mp3" -execdir mid3iconv -e gbk {};

然后把文件保存,拷貝到想要轉(zhuǎn)換的目錄下,執(zhí)行就可以了(執(zhí)行腳本的命令為 #sh filename)。

因為現(xiàn)在在網(wǎng)上下載的mp3絕大多數(shù)采用的都是gbk/gb18030編碼,-e gbk
參數(shù)是代表把gbk編碼的標(biāo)簽轉(zhuǎn)換為Unicode編碼,假如mp3標(biāo)簽本身是Unicode編碼的就不轉(zhuǎn)換。如果需要轉(zhuǎn)換其他編碼的文件可以自行修改
gbk參數(shù),比如改為gb18030、big5。轉(zhuǎn)換后為的mp3標(biāo)簽類型為ID3v2 2.4,編碼格式為UTF-16。

到了這一步之后,在Linux下使用所有播放器估計都沒有什么問題了。 
下面我們回過頭來看看,追溯一下根源,為什么這些mp3原來在Windows下用Media Player怎么都是顯示正常的呢?難道是Linux不如Windows嗎?其實這個道理很簡單,F(xiàn)irefox同樣也打不開很多IE輕松就能打開的頁面,能說明Firefox不如IE嗎?知情的人一看就明白了。Windows為了它所謂的兼容性,完全無視規(guī)范,自定規(guī)則,貌似它的軟件兼容性很好,其實
到頭來,毀的還是用戶,從眾多的不符合W3C規(guī)范的網(wǎng)頁和現(xiàn)在鋪天蓋地的mp3標(biāo)簽
再轉(zhuǎn)一個更牛的
轉(zhuǎn)換文件名由GBK為UTF8
sudo apt-get install convmv
convmv -r -f cpArray36 -t utf8 ?notest ?nosmart *
批量轉(zhuǎn)換src目錄下的所有文件內(nèi)容由GBK到UTF8

find src -type d -exec mkdir -p utf8/{} ;
find src -type f -exec iconv -f GBK -t UTF-8 {} -o utf8/{} ;
mv utf8/* src
rm -fr utf8

轉(zhuǎn)換文件內(nèi)容由GBK到UTF8
iconv -f gbk -t utf8 $i > newfile
轉(zhuǎn)換 mp3 標(biāo)簽編碼
sudo apt-get install python-mutagen
find . -iname "*.mp3" -execdir mid3iconv -e GBK {} ;

Linux下MP3名字亂碼

解決方法:安裝python-mutagen
安裝方法(root權(quán)限,你懂得)
fedora等紅帽的:
yum install python-mutagen
ubuntu等debian的:
apt-get install python-mutagen
安完后
mid3iconv -e gbk *.mp3
OK~

標(biāo)簽:防城港 北海 烏蘭察布 韶關(guān) 臨沂 南昌 邢臺 撫州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux下文件名、文件和mp3名字、pdf的亂碼問題》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266