7-zip的文件名编码问题

发布时间 2023-11-23 23:18:59作者: Kengroo

7-zip的文件名编码问题

问题概述

7-zip 的 GUI 界面不能设置文件名编码,因此会产生许多问题。例如如果将 Windows 的编码设置成 UTF-8,所有的压缩包文件名都会乱码。即使是 Windows 的编码是正常的 GBK,也会在解压用日语常用编码 Shift_JIS 进行编码的压缩包时出现乱码。

问题解决

使用 CLI 界面,将 7-zip 可执行文件加入环境变量或在 7-zip可执行文件的所在目录打开 cmd 或者 powershell

查看压缩包内容

执行下列命令

chcp [nnn]

其中 nnn 是微软的代码页,下面列出几个常用的

编码 代码页
GBK 936
UTF-8 65001
UTF-16 1200
Shift-JIS 932

然后执行下面命令

7z l src

进行解压

执行以下命令

7z x src [-o dest] -mcp=num

src为源文件路径,dest为输出文件路径,num为文件编码对应的代码页,如果不指定输出路径默认解压到当前目录。

注意,在 ps 中相对路径须加./

碎碎念

mcp选项竟然没有出现在文档里面,无法理解。

但是文档中提供了sccscs选项,看起来也能起到相同的效果。

参考

解决方案来自 CSDN

7-zip CLI 帮助文档