三议:ZIP含中文文件名乱码的问题,无需编译直接安装包

仅仅用于软件推荐,不适合发求软件或软件使用问题方面的贴子
回复
qxh66
帖子: 10
注册时间: 2008-09-26 0:44

三议:ZIP含中文文件名乱码的问题,无需编译直接安装包

#1

帖子 qxh66 » 2024-01-29 12:08

论坛里有讲打补丁程序的,可我始终无法编译成功,毕竟是新手。
无意间在github找到一个打好补丁的deb包,安装试了一下,果然好了。
文件名是p7zip-oemcp.deb
下载附件后去掉.txt后缀,再直接安装即可。
sudo dpkg -i p7zip-oemcp.deb
========================================================
linux mint 21.3
Parrot 6.0
这两个发行版测试通过,归档管理器不会有乱码了,方便多了。
附件
p7zip-oemcp.deb.txt
(1.18 MiB) 已下载 54 次
zrqlx126
帖子: 372
注册时间: 2007-06-22 18:52

Re: 三议:ZIP含中文文件名乱码的问题,无需编译直接安装包

#2

帖子 zrqlx126 » 2024-01-29 16:15

这个补丁早有了,之前在论坛上发过,可以查看https://forum.ubuntu.org.cn/viewtopic.php?t=491628,补丁是根据系统语言环境选择编码解压文件,存在局限性。
目前p7zip,已经很久没有更新,ubuntu24.04中 p7zip 和 p7zip-full 已经是一个过渡包,实际指向7zip和7zip-rar两个包。推荐直接安装并使用强大的官方7zip版本。有关详情查看https://7-zip.org/
sxgpic
帖子: 98
注册时间: 2013-12-13 6:57

Re: 三议:ZIP含中文文件名乱码的问题,无需编译直接安装包

#3

帖子 sxgpic » 2024-02-05 1:08

unar xxx.zip
头像
大宝
帖子: 3050
注册时间: 2008-06-30 22:32
联系:

Re: 三议:ZIP含中文文件名乱码的问题,无需编译直接安装包

#4

帖子 大宝 » 2024-02-17 9:32

在下偷懒,直接做了个右键菜单解决 ZIP 乱码的问题(Kubuntu)

代码: 全选

[Desktop Action unzipgbk]
Exec="unzip" "-O" "gb18030" "%U" #此行是关键部分
Icon=application-zip
Name=解压到当前目录

[Desktop Entry]
Actions=unzipgbk;
Icon=p7zip
MimeType=application/zip;application/x-zip-compressed;
ServiceTypes=KonqPopupMenu/Plugin
Type=Service
X-KDE-Submenu=ZIP 无乱码解压
Screenshot_20240217_093610.jpg
qxh66
帖子: 10
注册时间: 2008-09-26 0:44

Re: 三议:ZIP含中文文件名乱码的问题,无需编译直接安装包

#5

帖子 qxh66 » 2024-02-18 15:44

zrqlx126 写了: 2024-01-29 16:15 这个补丁早有了,之前在论坛上发过,可以查看https://forum.ubuntu.org.cn/viewtopic.php?t=491628,补丁是根据系统语言环境选择编码解压文件,存在局限性。
目前p7zip,已经很久没有更新,ubuntu24.04中 p7zip 和 p7zip-full 已经是一个过渡包,实际指向7zip和7zip-rar两个包。推荐直接安装并使用强大的官方7zip版本。有关详情查看https://7-zip.org/
主要目的在于能用归档管理器查看压缩文件里的文件名,这样最快捷。
看到需要的文件直接拖到桌面上。
简单易用而已。 :Smile
sxgpic
帖子: 98
注册时间: 2013-12-13 6:57

Re: 三议:ZIP含中文文件名乱码的问题,无需编译直接安装包

#6

帖子 sxgpic » 2024-02-19 18:15

qxh66 写了: 2024-01-29 12:08 论坛里有讲打补丁程序的,可我始终无法编译成功,毕竟是新手。
无意间在github找到一个打好补丁的deb包,安装试了一下,果然好了。
文件名是p7zip-oemcp.deb
下载附件后去掉.txt后缀,再直接安装即可。
sudo dpkg -i p7zip-oemcp.deb
========================================================
linux mint 21.3
Parrot 6.0
这两个发行版测试通过,归档管理器不会有乱码了,方便多了。
该包出自 https://github.com/unxed/oemcp

测试环境为 deiban 12,系统 locale 为 en_US.UTF-8 ,以这个包取代系统自带的 p7zip 、p7zip-full 和 p7zip-rar,仍然无法在 file-roller 中显示简体中文 Windows 下压缩的 zip 包内部的中文文件名。

粗看了一下补丁代码,大体上是根据系统 LC_CTYPE 变量来猜测所谓的 OEM 代码页,加入一个 lc_to_oem_cp ,里面规定 "zh_CN"对应"CP936","en_US"对应"CP437"……所以,在英文 locale 的 Linux 系统里解压 简体中文Windows 下压缩的 zip 包,它绝对会猜错,将 OEM_CP 猜成 CP437,不乱码才怪呢。这个补丁解决问题的思路其实相当的笨拙、死板。

unar 似乎更机智地解决了问题。无论在什么语言环境下,不需要指定任何参数,它似乎都能自动正确地解压 zip 包,不会出现文件名或目录名乱码。
zrqlx126
帖子: 372
注册时间: 2007-06-22 18:52

Re: 三议:ZIP含中文文件名乱码的问题,无需编译直接安装包

#7

帖子 zrqlx126 » 2024-03-05 13:18

解决乱码不是个问题,软件源中有老牌官方出品的winrar可用。

代码: 全选

sudo apt install rar
最新的7.0版本可从https://www.win-rar.com/fileadmin/winra ... 700.tar.gz下载
回复