Linux文件解压乱码
问题描述
相信不少Linux小白都会遇到这样一种情况:在服务器(Linux英文)上下载带有中文字符的文件会出现乱码。
本文将介绍几种解决此问题的方法,多数从网站摘抄或汇编而来,但亲测有效。
原因探讨
出现乱码主要是因为系统之间编码方式不同。中文版windows文件名编码方式一般是gbk,而Linux默认是utf-8。当在Linux中下载编码是gbk的文件时,就会导致显示乱码。
解决方法
系统完全不支持中文,文件名显示错误
方法:安装中文支持
安装中文包
1
sudo apt-get install language-pack-zh-hant language-pack-zh-hans
设置环境变量,在LANG这一栏中增加语言和编码
1
sudo vim /etc/environment
修改如下两行:
1
2LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh:en_US:en"使配置生效
1
sudo dpkg-reconfigure locales
RAR文件
安装unar
1
sudo apt-get install unar
unar常见参数:
-o:指定解压结果保存的位置
如:unar test.zip -o /home/
-e:指定编码如:unar -e GBK test.zip
-p:指定解压密码
如:unar -p 123456 test.zip依次尝试几种编码解压:GBK、GB2312、GB18030
1
unar -e GB2312 test.zip
ZIP文件
该方法并未测试,转载来自FindHao-Linux文件乱码
如果系统自带的unzip支持-O
选项,则直接使用以下命令即可,这样最方便简单,然而debian stable版本自带的就不支持。
1 | unzip -O GBK you_zip_file.zip |
7z文件
该方法本人测试用于解压RAR文件无效,转载来自FindHao-Linux文件乱码
先设置bash的lang,用7z解压出文件,然后再用convmv转换文件格式是这个方法的主要内容。
1 | sudo apt-get install p7zip-full convmv |