關於中文語系在壓縮、解壓縮後產生中文檔名破損的問題
許多朋友應該都有相同的問題,就是當使用 windows 進行壓縮後,到了 Linux 解壓縮,卻會發生一些檔名變亂碼的問題! 這還挺困擾的!最近網友提供的資料可以處理這方面的問題喔!參考看看!
发件人: "VBird" 已发: 2016年3月10日 上午10:38 收件人: besthyhy@outlook.com 主题: Re: 文件乱码 您好: 非常棒!我能不能將您的這封 email 內容貼到網友分享區呢? 因為我覺得,應該也有不少朋友與您有相同的困擾才對! ^_^ 鳥哥 敬上 ------------------------------------ Personal web site: http://linux.vbird.org E-mail:dmtsai@mail.ksu.edu.tw ---------- Original Message ----------- Sent: Wed, 9 Mar 2016 06:08:26 +0000 Subject: Re: 文件乱码 鸟哥:您好。 乱码的问题解决了。同时希望将我学到的反馈给您。 我观察到,目前的linux发行版默认情况下就能同时显示utf-8和GBK/Big5。 经过大量测试,得出的结论是:使用Windows/GBK压缩的zip文件,使用linux/UTF-8解压,就 会出现文件名损坏问题。但解压rar格式的压缩包,却不会出现问题。 我的解决方案 1.终端:unzip -O {gbk,big5} -d {target dir} {zip file} 2.x windows:我参照您网站上的教程,写了一个脚本,集成到右键菜单中。 我用的是ubuntu系统。将脚本放到~/.local/share/nautilus/scripts/里。 #!/bin/bash #内容与功能: #版本: #作者与联系方式: #建档日期: #历史记录: base="`echo $NAUTILUS_SCRIPT_CURRENT_URI | cut -d'/' -f3- | sed 's/%20/ /g'`" obj="$base/${1##*/}" unzip -O GBK -d ${obj%.zip} $obj exit 0 发送自 Outlook Mobile ---------- Original Message ----------- 发件人: VBird 已发送: 3月7日星期一 17:26 主题: Re: 文件乱码 收件人: besthyhy@outlook.com 您好: 由於中文的編碼比較特別,有多種編碼的情況, 例如繁體中文常見有 big5 與 utf8 兩種編碼格式。 因為 Linux 預設為 utf8 的編碼,因此,如果不是採用 utf8 的編碼,那麼檔名就會出現錯誤。 如果在終端機 (terminal) 的情況下想要顯示正確的檔名, 可以使用 LANG=??? 那個 ??? 表示語系,這樣應該就 OK ! 如果想要轉換檔名,可能會比較複雜些! 不過,剛剛查了一下,據說有個名為 convmv 的軟體可以使用! 在 CentOS 底下可以直接用 yum install convmv 來安裝, 然後查察如何使用吧!加油! 鳥哥 敬上 ------------------------------------ Personal web site: http://linux.vbird.org E-mail:dmtsai@mail.ksu.edu.tw ---------- Original Message ----------- Sent: Mon, 7 Mar 2016 06:23:17 +0000 Subject: 文件乱码 鸟哥:您好! 我已经将linux投入生产环境中了。比起Windows,linux的效率高多了。最近我又遇到了一个 问题。那就是来自Windows的文件乱码。 问题描述:我和我的同事经常需要交换文件。他们使用Windows。我的同事传给我的文件,名 称和内容的中文部分乱码了。 自我尝试:我自己在Windows中创建几个文件,用U盘拷贝到ubuntu上,显示正常。 造成乱码问题的因素有哪些? 有哪些解决方案? 怎样判断目标文件的编码方式?(通常的方法和算法) 还望解答,感激不尽! 发送自 Outlook Mobile