解決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 直接修改

4. 解決亂碼問題!



留言