====== CentOS 底下解決 unzip 出來的中文檔名問題 ====== 最近大量使用 zip 壓縮檔案後, 上傳到 CentOS 主機內, 但是發現使用 unzip 來解壓縮後, 中文檔名會變成無法 convert 回來的亂碼. 找了一些網路上的文章, 發現是 unzip 在解壓縮時會轉錯, [[http://freebsd.stu.edu.tw/zh-tut/unzip.html|可以透過更改 unzip 的原始碼解決]]. 但這部分並不是我要的答案. 所以嘗試使用 [[http://dag.wieers.com/rpm/packages/p7zip/|7-zip for Red Hat EL 5 - x86_64]] 就可以解決這問題. ===== - 安裝下載 ===== * 安裝主機是 CentOS release 5.2 (Final) x86_64 * 下載 7-zip rpm 檔 http://dag.wieers.com/rpm/packages/p7zip/p7zip-4.57-1.el5.rf.x86_64.rpm 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 {{tag>centos unzip 中文亂碼 7-zip linux}}