從網上下了一個zip文件,unzip解壓後發現中文顯示都是亂碼,以前也遇到過打開Windows系統下目錄文件名也是亂碼的問題。這是什麼原因呢?
文件是在Windows下創建的,而Windows的文件名中文編碼默認GBK,Linux中默認文件名編碼為UTF-8,編碼不一致導致了文件名亂碼的問題,解決這個問題需要對文件名進行轉碼,這個工具就是convmv。
SYNOPSIS: convmv -f 源編碼 -t 新編碼 [options] FILES ... DIRECTORYS
本人用的是openSUSE,首先安裝這個工具,man convmv查看用法
sudo zypper install convmv
然後,進行轉碼
convmv -f GBK -t zh_CN.UTF-8 -r the/directory
給出的提示顯示了有意義的中文,但是ls還是沒有變化!man一下,有一個選項--notest,這裡不解釋了,大家自己去看。
最後的命令:
convmv -f GBK -t zh_CN.UTF-8 -r --notest the/directory