CentOS 底下解決 unzip 出來的中文檔名問題

最近大量使用 zip 壓縮檔案後, 上傳到 CentOS 主機內, 但是發現使用 unzip 來解壓縮後, 中文檔名會變成無法 convert 回來的亂碼. 找了一些網路上的文章, 發現是 unzip 在解壓縮時會轉錯, 可以透過更改 unzip 的原始碼解決. 但這部分並不是我要的答案.

所以嘗試使用 7-zip for Red Hat EL 5 - x86_64 就可以解決這問題.

wget http://dag.wieers.com/rpm/packages/p7zip/p7zip-4.57-1.el5.rf.x86_64.rpm
rpm -ivh p7zip-4.57-1.el5.rf.x86_64.rpm
  • 安裝之後就可以執行 7za 的 7-zip 命令模式檔
  • 先上傳一個含有中文檔名的 docs.zip 壓縮檔案
  • 執行 7za 前先將環境變數 LANG 改成 zh_TW.Big5
export LANG=zh_TW.Big5
7za e docs.zip
[root@eGateway-8501 test]# 7za e docs.zip

7-Zip (A) 4.57  Copyright (c) 1999-2007 Igor Pavlov  2007-12-06
p7zip Version 4.57 (locale=zh_TW.Big5,Utf16=on,HugeFiles=on,1 CPU)

Processing archive: docs.zip

Extracting  附件_oldtonew_2-B.xls
Extracting  附件_oldtonew_2-C.xls

Everything is Ok

Files: 2
Size:       56320
Compressed: 6828
[root@eGateway-8501 test]# ls
docs.zip                        附件_oldtonew_2-C.xls
p7zip-4.57-1.el5.rf.x86_64.rpm  附件_oldtonew_2-B.xls
  • tech/7zip_centos.txt
  • 上一次變更: 2009/02/13 19:02
  • jonathan