解压中文乱码发生的情况
出现问题的环境是在win10上用虚拟机VMware跑Ubuntu18.04时尝试把windows下的zip文件放到共享文件下用shell的zip命令进行解压。
经过尝试发现,直接在Windows下,在共享文件中创建中文的文件夹给予压缩,不会出现Ubuntu解压乱码;但是在共享文件夹以外的地方创建中文文件夹给予压缩,会出现ubuntu解压乱码。
在网上找到的解决办法:
**方法1**:在命令行中解压文件设置参数
通过unzip行命令解压,指定字符集
unzip -O CP936 xxx.zip (用GBK, GB18030也可以)
**方法2**:修改设置环境
在命令行中输入下面命令,vim打开环境设置
$sudo vim /var/lib/locales/supported.d/local
然后编辑,添入下面的中文字符集
zh_CN.GBK GBK
zh_CN.GB2312 GB2312
zh_CN.GB18030 GB18030
保存退出vim
使其生效:
sudo dpkg-reconfigure --force locales
这样修改完后,使用右键提取文件还是会中文乱码的,但是在命令行中使用命令解压文件就不会乱码了。
**方法3**:替换文件
在ubuntu10.04下用gnome自带的归档管理器
解压windows下压缩的zip文件,中文会出现乱码。
将压缩包中以7z开头的文件全部复制到/usr/lib/p7zip/目录下,
替换掉原有的文件。这样乱码就解决了。
出于方便,方法一挺好用的,嘿嘿
乱码原因
Windows的默认编码为GBK,Linux的默认编码为UTF-8 两边牛头不对马嘴,要用unzip的-O选项来选择编码格式,就可以解决乱码了。