從Windows往Linux拷貝文件,有時會呈現中文文件名亂碼的現象,出現這種問題的原因是因為,windows的文件名中文編碼默認為GBK,而Linux中默認文件名編碼為UTF8,由於編碼不一致的原因,所以導致了文件名亂碼的問題,解決這個問題需要對文件名進行轉碼。
今天,介紹一個Linux的小工具:convmv。它可以幫助你完成文件名編碼的轉換,將文件名從GBK轉換成UTF-8編碼,也能從UTF-8轉換到GBK。
首先看一下你的系統上是否安裝了convmv,假如沒安裝的話用:
yum -y install convmv 安裝。
下面看一下convmv的詳細用法:
convmv -f 源編碼 -t 新編碼 [選項] 文件名
常用參數:
-r 遞歸處理子文件夾
–notest 真正執行轉碼,請注意在默認情況下文件名不是真正轉碼,而只是試驗。
–list 顯示所有支持的編碼
–unescap 可以做一下轉義,好比把%20變為成空格
現在,我們有一個utf8編碼的文件名,轉換成GBK編碼,命令如下:
convmv -f UTF-8 -t GBK –notest utf8編碼的文件名
這樣轉換今後”utf8編碼的文件名”會被轉換成GBK編碼(只是文件名編碼的轉換,文件內容不會產生變革)
對於Linux下SVN工作副本中文亂碼的問題,同樣能解決,不錯的小工具。