Ubuntu衍生版Linux中的压缩软件解压含中文文件名目录名ZIP文件乱码的问题解决

本文主要是介绍Ubuntu衍生版Linux中的压缩软件解压含中文文件名目录名ZIP文件乱码的问题解决,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


        在之前的文章中我使用ARK软件解决ZIP中文乱码的问题,Ark是基于QT库来开发的,不是我们常用的Ubuntu衍生版操作系统中默认安装的解压缩软件。而且之前的方法是通过给infoZip加unzip-natspec补丁的方式解决,需要禁用libZIP和p7zip插件,整个操作比较繁琐,而且不能解决常用的Engrampa和file-roller解压缩工具的中文Zip乱码的问题。总想找办法来解决这个问题,通过网上查看其它网友关于这个问题的分析和相应的解决方法,我看到解决这个问题几乎都是基于Arch Linux发行版的用户在处理,他们发现Engrampa和file-roller解压缩工具之所以对unzip-natspec无效,是因为在这些解压缩软件中都是p7zip库的优先级高于unzip库,如果p7zip未添加中文乱码的补丁,那么问题就无法解决。我到Arch Linux软件仓库中去查看p7zip-natspec补丁,结果我看到软件库的描述是建议删除这个补丁,因为最新的p7zip软件包 17.04版本默认已经解决了乱码问题。我们经常使用的基于Ubuntu 20.04 LTS的衍生版本操作系统中p7zip软件包是16.02,还没有解决中文乱码问题。也许在最新版本或未来的LTS版本中升级到p7zip后就不会再有乱码问题了,但是我们当前操作系统的Zip中文乱码还需要解决。因此我们就需要去下载并安装17.04版本的p7zip,在debian和ubuntu的软件仓库都没有,只能到github中去查看,发现真有17.04,查看文档,发现这个软件包还极可能是以为中国人开发,并且在国内的Gitee中有这个最新版的软件/

        我就通过Git clone命令到Gitee中下载该软件源码:

        git clone https://gitee.com/han_jin_fei/p7zip.git
        安装特别简单,在终端中进入git 下来的文件夹,并执行make 7z命令就编译完成了,将子目录bin中的所有文件拷贝到/usr/lib/p7zip/覆盖原有文件即可。

        此时使用ngrampa、file-roller解压缩工具或启用p7zip的Ark都可以正常解压缩含中文目录或中文名的由Windows制作的Zip文件了。

这篇关于Ubuntu衍生版Linux中的压缩软件解压含中文文件名目录名ZIP文件乱码的问题解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/337547

相关文章

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

Linux如何查看文件权限的命令

《Linux如何查看文件权限的命令》Linux中使用ls-R命令递归查看指定目录及子目录下所有文件和文件夹的权限信息,以列表形式展示权限位、所有者、组等详细内容... 目录linux China编程查看文件权限命令输出结果示例这里是查看tomcat文件夹总结Linux 查看文件权限命令ls -l 文件或文件夹

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

idea的终端(Terminal)cmd的命令换成linux的命令详解

《idea的终端(Terminal)cmd的命令换成linux的命令详解》本文介绍IDEA配置Git的步骤:安装Git、修改终端设置并重启IDEA,强调顺序,作为个人经验分享,希望提供参考并支持脚本之... 目录一编程、设置前二、前置条件三、android设置四、设置后总结一、php设置前二、前置条件

解决RocketMQ的幂等性问题

《解决RocketMQ的幂等性问题》重复消费因调用链路长、消息发送超时或消费者故障导致,通过生产者消息查询、Redis缓存及消费者唯一主键可以确保幂等性,避免重复处理,本文主要介绍了解决RocketM... 目录造成重复消费的原因解决方法生产者端消费者端代码实现造成重复消费的原因当系统的调用链路比较长的时

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

SpringBoot监控API请求耗时的6中解决解决方案

《SpringBoot监控API请求耗时的6中解决解决方案》本文介绍SpringBoot中记录API请求耗时的6种方案,包括手动埋点、AOP切面、拦截器、Filter、事件监听、Micrometer+... 目录1. 简介2.实战案例2.1 手动记录2.2 自定义AOP记录2.3 拦截器技术2.4 使用Fi

kkFileView启动报错:报错2003端口占用的问题及解决

《kkFileView启动报错:报错2003端口占用的问题及解决》kkFileView启动报错因office组件2003端口未关闭,解决:查杀占用端口的进程,终止Java进程,使用shutdown.s... 目录原因解决总结kkFileViewjavascript启动报错启动office组件失败,请检查of

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方