银河麒麟操作系统解压ZIP乱码?5秒搞定

在银河麒麟系统上解压ZIP文件后文件名出现乱码,根本原因通常是Windows系统使用GBK编码压缩文件,而麒麟系统自带的解压工具默认按UTF-8解码,两者不匹配导致的。可以试试下面这几种方法解决。


🛠️ 解决方案

方法一:使用unzip -O命令(推荐,最直接有效)

这是最快速的方法,直接在终端用命令指定正确的编码解压。

  1. 打开终端,进入压缩包所在目录。

  2. 执行命令,指定GBK或CP936编码:

    bash 复制代码
    unzip -O GBK 你的压缩包名.zip

    备注:O是大写字母O。

    如果GBK不行,也可以试试CP936GB18030

方法二:批量处理脚本(推荐,更实用)

如果你经常一次性处理多个ZIP文件,或者右键解压乱码需要返工,这个脚本会更高效。它会自动解压 当前目录下 所有指定后缀(如 .zip)的压缩包。

  1. 创建脚本文件 :同样新建一个文件,比如命名为 batch_unzip_gbk.sh

  2. 写入脚本内容

    bash 复制代码
    #!/bin/bash
    # 批量解压当前目录下所有GBK编码的ZIP文件
    
    # 设置要处理的文件后缀,可以修改为 *.ZIP 等
    FILE_PATTERN="*.zip"
    
    echo "开始批量解压 GBK 编码的 ZIP 文件..."
    
    # 使用 for 循环遍历所有匹配的文件
    for ZIP_FILE in $FILE_PATTERN; do
        # 检查是否确实有文件,防止没有匹配时报错
        if [ ! -f "$ZIP_FILE" ]; then
            echo "未找到任何 $FILE_PATTERN 文件。"
            break
        fi
    
        echo "正在处理: $ZIP_FILE"
        # 以压缩包名称创建文件夹(去掉.zip后缀),将内容解压进去
        FOLDER_NAME="${ZIP_FILE%.zip}"
        # 如果同名文件夹不存在则创建,避免覆盖提示
        mkdir -p "$FOLDER_NAME"
        unzip -O GBK "$ZIP_FILE" -d "$FOLDER_NAME"
        echo "--- $ZIP_FILE 解压完成 ---"
        echo ""
    done
    
    echo "所有文件处理完毕!"
  3. 赋予执行权限 :同样执行 chmod +x batch_unzip_gbk.sh

  4. 使用方法 :把这个脚本放在存放ZIP文件的文件夹里,打开终端执行 ./batch_unzip_gbk.sh。它会自动处理目录下所有的 .zip 文件。

方法三:安装第三方解压软件

麒麟软件商店里可能有360压缩等第三方工具,它们通常内置了编码自动识别功能,能智能处理乱码问题,操作也更贴近Windows习惯。

方法四:更新或更换图形界面解压工具

如果你习惯右键解压,可以尝试调整系统的"归档管理器"。

  • 升级Engrampa :更新自带的归档管理器到最新版,部分新版已修复此问题。

    bash 复制代码
    sudo apt install --reinstall engrampa
  • 更换为File-roller :卸载默认的Engrampa,安装另一个归档管理器File-roller,它可能对编码兼容性更好。

    bash 复制代码
    sudo dpkg -P engrampa engrampa-common
    sudo apt-get install -y file-roller