參考 http://if.ustc.edu.cn/~xbzhou/blog/archives/000067.html
從Linux往windows拷貝文件或者從windows往Linux拷貝文件,有時(shí)會(huì)出現(xiàn)中文文件名亂碼的情況,出現(xiàn)這種問(wèn)題的原因是因?yàn)?,windows的文件名中文編碼默認(rèn)為GBK,而Linux中默認(rèn)文件名編碼為UTF8,由于編碼不一致,所以導(dǎo)致了文件名亂碼的問(wèn)題,解決這個(gè)問(wèn)題需要對(duì)文件名進(jìn)行轉(zhuǎn)碼。
在Linux中專(zhuān)門(mén)提供了一種工具convmv進(jìn)行文件名編碼的轉(zhuǎn)換,可以將文件名從GBK轉(zhuǎn)換成UTF-8編碼,或者從UTF-8轉(zhuǎn)換到GBK。
首先看一下你的系統(tǒng)上是否安裝了convmv,如果沒(méi)安裝的話(huà)用:
yum -y install convmv
安裝。
下面看一下convmv的具體用法:
convmv -f 源編碼 -t 新編碼 [選項(xiàng)] 文件名
常用參數(shù):
-r 遞歸處理子文件夾--notest 真正進(jìn)行操作,請(qǐng)注意在默認(rèn)情況下是不對(duì)文件進(jìn)行真實(shí)操作的,而只是試驗(yàn)。--list 顯示所有支持的編碼--unescap 可以做一下轉(zhuǎn)義,比如把%20變成空格
比如我們有一個(gè)utf8編碼的文件名,轉(zhuǎn)換成GBK編碼,命令如下:
convmv -f UTF-8 -t GBK --notest utf8編碼的文件名
這樣轉(zhuǎn)換以后"utf8編碼的文件名"會(huì)被轉(zhuǎn)換成GBK編碼(只是文件名編碼的轉(zhuǎn)換,文件內(nèi)容不會(huì)發(fā)生變化)。
聯(lián)系客服