windows下解壓linux、unix平臺TAR包的亂碼問題

作者:張宇,北亞硬盤數據恢復中心,轉載請聯繫作者,如果實在不想聯繫作者,至少請保留版權,謝謝。
 
  這篇文章的部分觀點是我的個人看法,可能會有錯誤,希望大家指正。
  WINDOWS與LINUX/UNIX對文件系統字符集的處理方式是不相同的。WINDOWS文件系統驅動層本身就有對字符集轉換、處理的模塊,無論從操作系統上下達的是什麼字符集,最後要統一轉換到不同文件系統的字符處理模塊上,比如存儲在NTFS上的文件名稱,現在幾乎統一以$I30方式索引,採用UNICODE方式存儲。而LINUX/UNIX則不同,文件系統驅動層本身並不負責對字符集的處理,操作系統傳下來的文件名稱以字節流的方式直接記錄進文件系統索引結構,並不去理解字符集,所以,在同一個LINUX/UNIX文件系統中,可以允許目錄結構中有多種不同的字符集存在。
  如果在LINUX/UNIX下對某些文件做了tar包,tar包裏便直接記錄從文件系統上讀到的名稱字節流,那如果這個TAR包在WINDOWS下解壓,便很有可能會出現亂碼,或無法解壓。其實解決的辦法很簡單,只要把WINDOWS調整成不同的字符集,解壓對應的文件即可,只是這個對應需要人工去判斷了。
  打開WINDOWS的控制面板,選擇“區域和語言選項”,再移至“高級”選項卡上,在“選擇一種語言,使之與您使用的非UNICODE程序的語言。。。。”一項上選擇相應的字符集。然後,將tar包裏對應這個字符集的文件解壓到NTFS文件系統上,這些文件就會自動轉換成UNICODE通用字符集。再換成其他字符集,解壓,就可以把別的字符集也轉換成UNICODE了。
  很多NAS設備,由於用戶使用的字符集可能不同(典型的,香港、臺灣地區、大陸的聯合企業使用的NAS),這樣如果對NAS數據做備份後,想在WINDOWS上解開,網管對LINUX又不熟,用這個方法可能能容易的解決。
發佈了57 篇原創文章 · 獲贊 0 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章