1. 程式人生 > >Mac下unzip解壓檔名亂碼問題

Mac下unzip解壓檔名亂碼問題

前言

zip為windows平臺常用壓縮檔案格式,在團隊協作中,經常會碰到同事發過來的zip格式壓縮檔案。我們在mac一般利用unzip來解壓,在檔名全是英文的情況可以很好的解決問題,但是如果檔名包含中文,則會出現亂碼問題,本文旨在提供一個最簡單的方式解決該問題。

方案

為什麼unzip不能handle這種情況?
unzip有很多的版本,而適合用在MAC OS上的版本很多不支援指定編碼格式。這樣就會導致unzip只能使用系統預設編碼格式,而windows上壓縮時一般採用GBK或者GB2312進行編碼,若你的mac的編碼格式與zip的不一致則會導致亂碼問題。主要原因還是unzip不支援自定義指定原始檔編碼格式。
所以解決方案是尋找一個支援指定自定義編碼格式的解壓縮命令工具即可,unar

則是一款優秀的支援多重格式的解壓工具。
Mac下zip檔案解壓亂碼如何解決呢?
首先安裝Homebrew (The missing package manager for macOS)

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  1. 安轉unar
brew install unar
  1. 解壓目標檔案
unar -e GBK yourfile.zip

Note: -e指定原始檔編碼格式。而目標檔案編碼格式會根據系統的locale自動獲取。