解決tar內檔案名稱亂碼問題ubuntu
會有亂碼問題就是與系統的語系有關,Ubuntu預設中文都是UTF-8,使用localctl可以查看目前系統設置。
$ localectl
System Locale: LANG=zh_TW.UTF-8
....
要解tar內檔案名稱亂碼問題就是要安裝,如果你是要針對zip檔案請參考之前的這篇文章。
1. 讓系統支援BIG5語系
修改語系設定檔
$ sudo vim /etc/locale.gen
確定以下兩種語系都沒有被 # 註解
- zh_TW BIG5
- zh_TW.UTF-8 UTF-8
生成BIG5語系檔
$ sudo locale-gen
確認BIG5語系生成成功
$ locale -a | grep -i big
zh_TW.big5
2. untar解壓縮
$ tar -xvf {你的tar檔名}.tar
3. 將亂碼轉成正常字串
如果你的檔案解出來是一個目錄帶亂碼,可以使用
$ ls -a
把該亂碼的列出bash指令可用的目錄名稱字串
安裝套件
$ sudo apt install convmv
使用convmv轉換亂碼
$ convmv -f big5 -t utf8 -r --notest '複製檔案/目錄名稱字串'
- -f big5 來源是Big5
- -t utf8 輸出成UTF-8
- -r 遞迴跑子資料夾內的所有檔案
- --notest 直接修改
留言