You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

求助:7-Zip命令行解压含特殊字符压缩包时如何保留原特殊字符

求助:7-Zip命令行解压含特殊字符压缩包时如何保留原特殊字符

嗨,这个问题我之前帮朋友排查过,本质是命令行的编码设置和7-Zip的字符集参数没匹配上,导致特殊字符被转成了Unicode编码的替代格式。给你几个亲测有效的解决方法:

  • 先切换命令行编码再解压
    打开命令提示符(cmd)后,先执行这条命令切换到UTF-8编码:
    chcp 65001
    然后再用7-Zip的解压命令,同时指定字符集参数:
    7z x 你的压缩包文件名.7z -scsUTF-8
    这里的-scsUTF-8是告诉7-Zip用UTF-8来解析压缩包里的文件名,配合cmd的UTF-8编码就能正确识别€、带重音的字母这些特殊字符了。

  • 改用PowerShell执行解压
    PowerShell对UTF-8的原生支持比cmd好很多,直接打开PowerShell,运行基础的解压命令就行:
    7z x 你的压缩包文件名.7z
    如果还是有问题,同样可以加上-scsUTF-8参数,一般都能解决。

  • 升级7-Zip到最新版本
    旧版本的7-Zip对特殊字符的兼容性确实差一些,尤其是一些比较少见的Unicode字符,升级到最新稳定版后,很多编码问题会自动修复。

另外补充一下,你看到的Belgi#U00eb.tif这种命名,是7-Zip在无法识别当前编码下的字符时,自动用Unicode码点(这里的U00eb就是ë的Unicode编码)来替代的表现,只要编码匹配正确,就能还原成原文件名啦。

备注:内容来源于stack exchange,提问作者jarod

火山引擎 最新活动