优先用unar自动识别解压,安装命令为sudo apt install unar,解压命令为unar /path/to/archive.zip;若失败则用unzip -o gbk、unrar -encoding gb18030或7z -mcp=936/930指定编码,并需安装libarchive-plugins、p7zip-full等后端插件及中文字体。

统信UOS打开Windows导出的ZIP、RAR等压缩包时,所有文件名显示为问号、方框或“?????”,不是文件损坏,而是系统用UTF-8强行解析GBK/GB18030编码写入的文件名元数据,必须绕过图形界面干预解压行为或重挂载原始字节流。
优先用unar自动识别并解压
这一步操作起来很简单,直接把命令复制进终端回车就行。unar专为跨平台编码兼容设计,内置GBK、GB18030、BIG5等多编码自动探测能力,无需人工判断原始编码类型,适合日常高频解压场景。
安装unar:sudo apt install unar
解压压缩包:unar /path/to/archive.zip
若压缩包在桌面,可直接输入unar ~/桌面/资料.rar → 等待自动完成,中文文件名将原样还原。注意:unar不修改原压缩包,只生成新目录,安全无副作用。
手动指定编码解压(ZIP/RAR/7z)
当unar识别失败或需精确控制时,改用支持编码参数的命令行工具,按压缩包类型选择对应方案。
方法一:ZIP包用unzip -O GBK
unzip -O GBK archive.zip -d ./decoded/
方法二:RAR包用unrar -encoding GB18030
unrar x -o+ -y -c- -encoding GB18030 archive.rar ./decoded/
方法三:通用型强推7z -mcp=936或930
7z x "archive.zip" -o"./decoded" -mcp=936 → 适用于绝大多数简体中文Windows打包的ZIP
7z x "archive.rar" -o"./decoded" -mcp=930 → 兼容含生僻字或旧版WinRAR打包的场景
【必须安装p7zip-full而非p7zip】,因为p7zip仅支持7z格式,缺少对ZIP/RAR的完整解码后端,装错会导致7z命令报“Can not open file as archive”错误。
Windows 命令行编码与兼容规范。涵盖 GBK/UTF-8 编码、PowerShell/pwsh 互操作、Python/Node.js、Git 配置及代码生成规则。适用于 Windows 10/11 + MSYS2/Git Bash 环境下的所有命令行操作。
修复归档管理器双击解压乱码
图形界面下双击压缩包仍乱码,是因为file-roller未注入编码参数,且依赖外部插件解析格式。需同时修改启动配置与补齐后端。
第一步:确认归档管理器实际桌面文件名
执行ls /usr/share/applications/ | grep -i roller → 常见为org.gnome.ArchiveManager.desktop或org.gnome.FileRoller.desktop
第二步:编辑对应.desktop文件
sudo nano /usr/share/applications/org.gnome.ArchiveManager.desktop
第三步:找到Exec=开头的行,在行尾空格后添加--encoding=GB18030
例如原为Exec=org.gnome.ArchiveManager %u → 改为Exec=org.gnome.ArchiveManager %u --encoding=GB18030
第四步:刷新桌面数据库并重启进程
sudo update-desktop-database → killall file-roller
【必须确认/usr/share/applications/org.gnome.ArchiveManager.desktop存在且可写】,部分UOS版本权限受限,若提示Permission denied,请先执行sudo chmod 644该文件再编辑。
补全解压后端插件与字体支持
即使加了--encoding参数,若底层缺少解压引擎,file-roller会静默退回乱码解压或报“不支持此格式”。这是被忽略最多的关键环节。
执行命令一次性安装全部必需组件:
sudo apt update && sudo apt install libarchive-plugins unrar p7zip-full p7zip-rar gir1.2-gtk-3.0
安装完成后验证RAR支持是否注册:
file-roller --version | grep rar → 应输出包含rar字样;若无,说明插件未加载,需检查是否漏装libarchive-plugins。
最后补全中文字体防止后续打开文档再乱码:
sudo apt install fonts-wqy-microhei fonts-wqy-zenhei ttf-wps-fonts && sudo fc-cache -fv










