WEB_tar打包 後中文檔名亂碼的問題
阿新 • • 發佈:2019-02-16
tar zcvf xxx.tar.gz *files
tar jcvf xxx.tar.bz2 *files因檔名有中文字元,放到windows的機器上後解壓中文變成亂碼。
7zip和rar會記錄字符集,自動轉換,而tar不會:
比如 “中國.txt”,utf-8下編碼是e4b8ade59bbd,tar裡面記錄的是e4b8ade59bbd.tar,然後gbk下中國不是e4b8ade59bbd,所以就是亂碼了,zip也不儲存字符集。
在linux下只能用rar或者7zip處理中文檔名的檔案。
===================================================
歸根結底是因為linux和windows字符集設定得不同:
windows的機制是本地編碼來記錄檔名,本地編碼的字符集是跟Locale(多語種支援)相關的,而Locale又跟你安裝系統所選區域語言有關,由此,windows支援很多種字元
碼的,跟你安裝的linux的字元編碼並不一定一致,而且單單中文的編碼就有很多種,所以你只需要將兩個對應系統的字元編碼設定為相同即可。
1. #LANG="跟windows統一的字符集" SYSFONT="latarcyrheb-sun16" SUPPORTED="跟windows統一的字符集:x:x"
當然,用工具軟體方便得多,像7zip等都可以實現。