乱码根源:
Windows下的编码多为gbk,gb2312,而在Linux下多为UTF-8 ,而转码分为对文件名的转码和文件内容的转码。
—————— 解决windows下打包, Linux打开压缩包乱码 ——————
Centos下:
安装7z 参考:http://blog.zephyrxt.net/post-130.html
安装convmv :
yum install convmv
运行:
LANG=C 7za x your-zip-file.zip
convmv -f GBK -t utf8 --notest -r .
第一条命令用于解压缩,而LANG=C表示以US-ASCII这样的编码输出文件名,如果没有这个语言设置,它同样会输出乱码,只不过是UTF8格式的乱码(convmv会忽略这样的乱码)。
第二条命令是将GBK编码的文件名转化为UTF8编码,-r表示递归访问目录,即对当前目录中所有文件进行转换
或者直接使用一条命令:
unzip -O CP936 xxx.zip (用GBK, GB18030也可以),并非所有unzip版本都支持该命令参数
文件内容转码:
使用命令iconv对文件内容编码进行转换。
例如我有一个文件"y05文档.txt"在windows下打开正常,而在linux下打开则会乱码,其解决办法为在终端输入:
iconv -f gbk -t utf-8 y05文档.txt > y05文档.txt.utf8
之后再打开"y05文档.txt.utf8"这个文件,该文见的乱码问题就解决了
———————— linux压缩包 window下打开乱码 ——————
linux下:7za a -mx=0 -t7z "test" "test2" 不加密打包
windows下:安装使用第三方解压缩工具:http://www.zipeg.com/
参考:
linux下文件解压乱码?
Linux 学习解决归档管理器打开rar和zip中文文件名乱码问题
Linux各种乱码的解决办法[完善中]
linux ubuntu10.10 文件解压之后乱码问题汇总
[2012.10.04]Linux压缩包简体中文乱码终极解决方案
https://bbs.zephyrxt.com/thread-17626-1-1.html
https://bbs.zephyrxt.com/thread-17627-1-1.html
https://bbs.zephyrxt.com/thread-17628-1-1.html
https://bbs.zephyrxt.com/thread-17629-1-1.html
https://bbs.zephyrxt.com/thread-17630-1-1.html
https://bbs.zephyrxt.com/thread-17631-1-1.html