如何解决Ubuntu环境下解压中文显示乱码问题? Ubuntu解压中文乱码的多种解决办法
梦回刚读大学时折腾KDE。Linux固有诸多不可替代的优势,然而总能在编码、IO之类的小问题上搞点无伤大雅但需要手动解决的“尴尬”。
Windows压缩文件时,默认以系统编码中文来处理。由于zip文件中没有声明编码,所以 Linux上的unzip解压中文文件名会出现乱码,有三种方式解决问题:
通过unzip命令解压,指定字符集参数
unzip -O GBK filename.zip
也可以尝试将参数GBK
替换为CP936
、GB18030
有趣的是unzip的manual中并无这个选项的说明,unzip --help对这个参数有一行简单的说明。
配置环境变量,总以指定的字符集处理文件
在文件/etc/environment中加入两行
UNZIP="-O GBK"ZIPINFO="-O GBK"
使用The Unarchiver项目提供的lsar/unar工具。
安装:sudo apt-get install unar
使用:unar filename.zip
解压用unar工具,转码用enca。
sudo apt install unar enca
转码脚本encoding.sh
#!/bin/bash #将文件编码更改为UTF-8 #用法 #1. 将文件命名encoding.sh #2. chmod +x encoding.sh #3. ./set_encoding.sh #4. 输入目录名称 #5. 输入是否递归更改 #$1表示是否要递归修改文件编码 function change_file_encoing(){ for file in $(ls -l|awk '{print $9}') do if [[ -d "$file" && $1 = y ]];then cd $file echo $file change_file_encoing $1 cd .. elif [[ -f "$file" ]];then echo $file enca -L zh_CN -x UTF-8 $file fi; done; #ecna -L zh_CN file UTF-8 } read -p "please enter the dir path:" path #读取目录路径 if [ ! -x "$path" ]; #判断目录是否存在且是否具有执行权限 then echo "dir path not exists" else read -p "please enter if you want to recursive?y/n:" recur #是否递归 fi if [ $recur == "y" ]; then cd $path change_file_encoing "y" #递归修改文件编码 else cd $path change_file_encoing "n" #非递归修改 fi
至此,可以批量用find,grep组合命令查找匹配中文。
使用p7zip解压
安装p7zip-full
$sudo apt-get install p7zip-full
卸载unzip
$sudo apt-get remove unzip
再下载更新的p7zip-full包把原来的程序替换掉/usr/lib/p7zip/
$sudo tar xzvf p7z-bin.tar.gz -C /usr/lib/p7zip
使用锁定p7zip、p7zip-rar和p7zip-full版本(防止更新后失效)
1) 安装新立得软件管理器 sudo apt-get install synaptic(如果已经安装可以略过)
2) 打开新立得软件包管理器,搜索p7zip
3) 在搜索出的结果中,选择p7zip、p7zip-rar和p7zip-full,再点击软件包 -> 设置 -> 锁定版本
相关文章
ubuntu21.04怎么安装软件? ubuntu安装软件的三种方式
ubuntu21.04怎么安装软件?ubuntu系统中想要安装软件,该怎么怎么安装软件呢?下面我们就来分享ubuntu安装软件的三种方式,需要的朋友可以参考下2021-04-20- ubuntu20.04系统中apt无法补全命令怎么办?ubuntu20.04中使用apt安装软件,却发现不能自动补全命令,需要自己完全打出来,该怎么办呢?下面我们就来看看详细的解决办法,需2021-04-21
ubuntu20.04与win10双系统怎么设置默认启动win10配置?
ubuntu20.04与win10双系统怎么设置默认启动win10配置?电脑安装了双系统,但是ubuntu系统很多游戏不能安装,想要开启启动win10系统,该怎么设置呢?下面我们就来看看详细的2021-04-22ubuntu20.04怎么设置开机引导grub? 开机进入引导菜单选择界面的方法
ubuntu20.04怎么设置开机引导grub?ubuntu20.04系统默认开机直接就进入系统可以看到自己的桌面,但是想要实现开机进入引导菜单编辑界面,该怎么设置呢?下面我们就来看看详2021-04-22ubuntu21.04怎么创建桌面快捷图标? ubuntu软件放到桌面的技巧
ubuntu21.04怎么创建桌面快捷图标?在windows系统中用习惯了桌面快捷图标,想要给虚拟机ubuntu21.04中的软件放到桌面上来,该怎么操作呢?下面我们就来看看详细的教程,需2021-04-30ubuntu21.04五笔输入法怎么用? ubuntu21.04配置五笔输入法的技巧
ubuntu21.04五笔输入法怎么用?ubuntu21.04中想要使用五笔输入中文,该怎么设置呢?下面我们就来看看ubuntu21.04配置五笔输入法的技巧,需要的朋友可以参考下2021-05-01ubuntu21.04不能播播放rmvb文件怎么办? ubuntu播放rmvb视频的技巧
ubuntu21.04不能播播放rmvb文件怎么办?ubuntu21.04在播放视频的时候,发现不能播放rmvb格式的,该怎么办呢?下面我们就来看看ubuntu播放rmvb视频的技巧,详细请看下文介绍2021-05-06ubuntu21.04录屏工具无法使用怎么办? ubuntu录屏工具的用法
ubuntu21.04录屏工具无法使用怎么办?ubuntu21.04系统在使用蓝屏工具的时候,发现不能使用,该怎么办呢?下面我们就来看看ubuntu录屏工具的用法,需要的朋友可以参考下2021-05-08- ubuntu21.04系统怎么自定义分区安装?自定义的空闲的分区进行安装的好久就是不用把文件拷贝出来了,下面我们就来看看详细的教程,需要的朋友可以参考下2021-05-08
ubuntu系统怎么查看版本? Linux查看系统版本信息的技巧
ubuntu系统怎么查看版本?ubuntu系统想要看看版本号,在哪里查看呢?查看方法和我们常用的windows系统不同,下面我们就来看看Linux查看系统版本信息的技巧,详细请看下文介2021-05-28
最新评论