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

相关文章

在Ubuntu上部署SpringBoot应用的操作步骤

《在Ubuntu上部署SpringBoot应用的操作步骤》随着云计算和容器化技术的普及,Linux服务器已成为部署Web应用程序的主流平台之一,Java作为一种跨平台的编程语言,具有广泛的应用场景,本... 目录一、部署准备二、安装 Java 环境1. 安装 JDK2. 验证 Java 安装三、安装 mys

详谈redis跟数据库的数据同步问题

《详谈redis跟数据库的数据同步问题》文章讨论了在Redis和数据库数据一致性问题上的解决方案,主要比较了先更新Redis缓存再更新数据库和先更新数据库再更新Redis缓存两种方案,文章指出,删除R... 目录一、Redis 数据库数据一致性的解决方案1.1、更新Redis缓存、删除Redis缓存的区别二

oracle数据库索引失效的问题及解决

《oracle数据库索引失效的问题及解决》本文总结了在Oracle数据库中索引失效的一些常见场景,包括使用isnull、isnotnull、!=、、、函数处理、like前置%查询以及范围索引和等值索引... 目录oracle数据库索引失效问题场景环境索引失效情况及验证结论一结论二结论三结论四结论五总结ora

Linux磁盘分区、格式化和挂载方式

《Linux磁盘分区、格式化和挂载方式》本文详细介绍了Linux系统中磁盘分区、格式化和挂载的基本操作步骤和命令,包括MBR和GPT分区表的区别、fdisk和gdisk命令的使用、常见的文件系统格式以... 目录一、磁盘分区表分类二、fdisk命令创建分区1、交互式的命令2、分区主分区3、创建扩展分区,然后

element-ui下拉输入框+resetFields无法回显的问题解决

《element-ui下拉输入框+resetFields无法回显的问题解决》本文主要介绍了在使用ElementUI的下拉输入框时,点击重置按钮后输入框无法回显数据的问题,具有一定的参考价值,感兴趣的... 目录描述原因问题重现解决方案方法一方法二总结描述第一次进入页面,不做任何操作,点击重置按钮,再进行下

Linux中chmod权限设置方式

《Linux中chmod权限设置方式》本文介绍了Linux系统中文件和目录权限的设置方法,包括chmod、chown和chgrp命令的使用,以及权限模式和符号模式的详细说明,通过这些命令,用户可以灵活... 目录设置基本权限命令:chmod1、权限介绍2、chmod命令常见用法和示例3、文件权限详解4、ch

解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题

《解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题》本文主要讲述了在使用MyBatis和MyBatis-Plus时遇到的绑定异常... 目录myBATis-plus-boot-starpythonter与mybatis-spring-b

Linux内核之内核裁剪详解

《Linux内核之内核裁剪详解》Linux内核裁剪是通过移除不必要的功能和模块,调整配置参数来优化内核,以满足特定需求,裁剪的方法包括使用配置选项、模块化设计和优化配置参数,图形裁剪工具如makeme... 目录简介一、 裁剪的原因二、裁剪的方法三、图形裁剪工具四、操作说明五、make menuconfig

Linux使用nohup命令在后台运行脚本

《Linux使用nohup命令在后台运行脚本》在Linux或类Unix系统中,后台运行脚本是一项非常实用的技能,尤其适用于需要长时间运行的任务或服务,本文我们来看看如何使用nohup命令在后台... 目录nohup 命令简介基本用法输出重定向& 符号的作用后台进程的特点注意事项实际应用场景长时间运行的任务服

什么是cron? Linux系统下Cron定时任务使用指南

《什么是cron?Linux系统下Cron定时任务使用指南》在日常的Linux系统管理和维护中,定时执行任务是非常常见的需求,你可能需要每天执行备份任务、清理系统日志或运行特定的脚本,而不想每天... 在管理 linux 服务器的过程中,总有一些任务需要我们定期或重复执行。就比如备份任务,通常会选在服务器资