如何在Ubuntu 20.04操作系统中解决Zip文件打开乱码的问题

之前一直都知道Ubuntu操作系统中的归档管理器打开Windows系统平台上压缩的Zip文件都会出现乱码的问题,但觉得文件内容不是乱码就没有刻意去解决这个问题;空闲的时候在 上查询解决方案,几乎都是建议使用unzip -O命令来解决,而且也确实有效,但是使用命令行的方式总觉得不太方便。偶然的机会发现自己使用的Deepin 20操作系统不存在这个问题,默认自带的deepin-compressor打开Windows和Linux平台中制作的Zip文件都不会出现文件名乱码的问题,说明是有解决办法的。

在准备彻底放弃的时候发现 上有讨论如何使用Ark软件解决Zip解码乱码的问题,但是发现他们都是使用的Arch Linux来解决的,我觉得Arch和Ubuntu本质上是一样的,就参照他们的办法来解决这个问题,发现这种解决方法比编译deepin-compressor源代码的方式简单很多,而且有效,现在将操作方法在下面列出,希望对和我一样想解决这个问题的用户有所帮助,具体步骤如下:

1、首先要下载并安装Ark归档管理器软件,同时下载zip软件包的补丁unzip-natspec,这个补丁通过克隆的方式下载git clone
https://aur.archlinux.org/unzip-natspec.git。

2、下载unzip60的源代码并进行解压缩,到官 去下载,下载地址为:
https://downloads.sourceforge.net/infozip/unzip60.tar.gz。

3、以源代码打补丁的方式需要用到补丁依赖的软件包natspec,我将natspec相关的几个deb包都下载了下来,并双击安装。下载地址分别为:


https://launchpadlibrarian.net/484832538/natspec-bin_0.3.0-0astra1ppa1~focal_amd64.deb(后面两个库文件软件包安装完后,再装这个软件包)

https://launchpadlibrarian.net/484832537/libnatspec0_0.3.0-0astra1ppa1~focal_amd64.deb

https://launchpadlibrarian.net/484832536/libnatspec-examples_0.3.0-0astra1ppa1~focal_amd64.deb

https://launchpadlibrarian.net/484832534/libnatspec-dev_0.3.0-0astra1ppa1~focal_amd64.deb

4、另外编译的时候还需要libbz2的开发包,执行sudo apt-get install libbz2-dev进行安装。、

5、将克隆方式下载的补丁文件拷贝到unzip60解压出来的第一级目录中,准备执行打补丁的操作,使用打补丁的命令,逐个文件进行打补丁,具体为:

patch -p1 -i unzip-6.0-alt-natspec.patch || return 1

patch -p1 -i overflow-fsize.patch || return 1 #FS#44171

patch -p1 -i cve20149636.patch || return 1 #FS#44171

patch -i test_compr_eb.patch || return 1 # FS#43391

patch -i getZip64Data.patch || return 1 # FS#43300

patch -i crc32.patch || return 1 # FS#43300

patch -p1 -i empty-input.patch || return 1 # FS#46955

patch -p1 -i csiz-underflow.patch || return 1 # FS#46955

patch -p1 -i nextbyte-overflow.patch || return 1 # FS#46955

6、编译环境的设定,执行命令:export CFLAGS=”$CFLAGS -D_FILE_OFFSET_BITS=64 -DACORN_FTYPE_NFS

-DWILD_STOP_AT_DIR -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT

-DUNICODE_WCHAR -DUTF8_MAYBE_NATIVE -DNO_LCHMOD -DDATE_FORMAT=DF_YMD

-DUSE_BZIP2 -DNATIVE -DNOMEMCPY -DNO_SETLOCALE”

7、执行编译命令:make -f unix/Makefile LOCAL_UNZIP=”$CFLAGS” prefix=/usr

D_USE_BZ2=-DUSE_BZIP2 L_BZ2=-lbz2 unzips || return 1

8、执行编译命令:sudo make -f unix/Makefile prefix=/usr INSTALL_PROGRAM=”install” install || return 1

9、执行安装命令:sudo install -Dm644 LICENSE
/usr/share/licenses/unzip/LICENSE || return 1

10、在ARK软件中点击“设置”中的菜单项“配置Ark”,在对话框的左边点击“插件”,将libzip和p7zip两个插件前的勾选框中的√去掉,如下图所示:

11、在开始菜单中再运行Ark归档管理器软件,就没有文件名乱码的现象了,如有其他问题,欢迎交流。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年5月5日
下一篇 2022年5月5日

相关推荐