解决linux上有中文命名的文件名压缩后下载到windows上再解压出来都是乱码的问题

Linux系统默认的字符编码是UTF-8,而Windows系统默认的字符编码是GBK,不支持UTF-8,所以 Linux下的中文文件名到Windwos下就成了乱码。

解决办法:
1、用英文文件名
2、把Linux系统的文件名转成GBK编码,convmv就是更改文件名编码方式的一个工具。
* 注:这种转换有可能造成信息丢失,因为UTF-8不能100%转换成GBK,但GBK可以完全转换成UTF-8。

以/home/test/中国 目录为例将/home/test目录下的所有中文目录转换编码
//查询convmv工具是否安装
# rpm -qa convmv
//如果返回记录为空,则需要安装convmv工具

# yum list|grep convmv
convmv.noarch                            1.15-2.el6                     @c6-media
# yum install -y convmv.noarch
//把要转换编码的目录复制到一个临时目录,因为转换的是整个目录的编码

cp -r /home/test /home/tmp
# convmv -f utf-8 -t gbk -r --notest /home/tmp
* 参数解释:
-f 原来的编码方式
-t 要更改为的编码方式
-r 表示这个目录下面的所有文件
--notest 表示马上执行,而不是仅仅测试而已
//压缩临时目录
# tar cvzf tmp.tar.gz /home/tmp
下载到Windows系统解压后中文乱码的问题即可解决。

<本文作者:rtt8387,专注Oracle、Mysql数据库技术>
<版权所有,请勿转载。如须转载请详细标明转载出处,否则追究法律责任!>

请使用浏览器的分享功能分享到微信等