CentOS 底下解決 unzip 出來的中文檔名問題
最近大量使用 zip 壓縮檔案後, 上傳到 CentOS 主機內, 但是發現使用 unzip 來解壓縮後, 中文檔名會變成無法 convert 回來的亂碼. 找了一些網路上的文章, 發現是 unzip 在解壓縮時會轉錯, 可以透過更改 unzip 的原始碼解決. 但這部分並不是我要的答案.
所以嘗試使用 7-zip for Red Hat EL 5 - x86_64 就可以解決這問題.
- 安裝下載
- 安裝主機是 CentOS release 5.2 (Final) 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