首页 > 系统相关 >Linux桌面系统解压Windows用户发来的zip压缩包乱码

Linux桌面系统解压Windows用户发来的zip压缩包乱码

时间:2022-12-18 16:24:16浏览次数:57  
标签:12 情况表 zip Windows doc 乱码 办公 居家 xxx2022

现象

Linux桌面用户大多数都遇到这个问题,对Windows桌面用户发来的zip压缩包,双击打开或者解压,发现中文文件名和路径都是乱码。
image
通过命令行unzip解压也会得到一样的结果:

  12月 unzip xxx2022年12月居家办公情况表集合.zip 
Archive:  xxx2022年12月居家办公情况表集合.zip
  inflating: ░╜╘╦2022─ъ12╘┬╛╙╝╥░ь╣л╟щ┐Ў▒э╝п║╧/░╜╘╦2022-12-1.doc  
  inflating: ░╜╘╦2022─ъ12╘┬╛╙╝╥░ь╣л╟щ┐Ў▒э╝п║╧/░╜╘╦2022-12-15.doc  
  inflating: ░╜╘╦2022─ъ12╘┬╛╙╝╥░ь╣л╟щ┐Ў▒э╝п║╧/░╜╘╦2022-12-16.doc  
  inflating: ░╜╘╦2022─ъ12╘┬╛╙╝╥░ь╣л╟щ┐Ў▒э╝п║╧/░╜╘╦2022-12-2.doc  
  inflating: ░╜╘╦2022─ъ12╘┬╛╙╝╥░ь╣л╟щ┐Ў▒э╝п║╧/░╜╘╦2022-12-5.doc  

分析

实际上这个是zip这种压缩方式,并没有指定压缩的编码格式。而Windows下生成的zip文件中的编码是GBK/GB2312等,Linux默认编码格式是utf8.

➜  12月 echo $LANG      
zh_CN.UTF-8

这个时候可以用lsar查看一下压缩包内容:

➜  12月 lsar xxx2022年12月居家办公情况表集合.zip 
xxx2022年12月居家办公情况表集合.zip: Zip
xxx2022年12月居家办公情况表集合/xxx2022-12-1.doc
xxx2022年12月居家办公情况表集合/xxx2022-12-15.doc
xxx2022年12月居家办公情况表集合/xxx2022-12-16.doc
xxx2022年12月居家办公情况表集合/xxx2022-12-2.doc
xxx2022年12月居家办公情况表集合/xxx2022-12-5.doc
xxx2022年12月居家办公情况表集合/

还有更详细的参数:

  12月 lsar -L xxx2022年12月居家办公情况表集合.zip
xxx2022年12月居家办公情况表集合.zip: Zip
xxx2022年12月居家办公情况表集合/xxx2022-12-1.doc: 
  Name:                 xxx2022年12月居家办公情况表集合/xxx2022-12-1.doc
  Size:                 31.2 KB (31,232 bytes)
  Compressed size:      16.9 KB (16,890 bytes)
  Compression type:     Deflate
  Last modified:        2022-12-16 18:09:52 +0800
  DOS file attributes:  A----- (0x20)
  Index in file:        0
  Start of data:        80
  Length of data:       16890
  ZipCRC32:             0xba90c296
  ZipCompressionMethod: 8
  ZipExtractVersion:    20
  ZipFileAttributes:    32
  ZipFlags:             0
  ZipLocalDate:         1435537722
  ZipOS:                0
  ZipOSName:            MS-DOS
  ......................................................................

从最后一句 ZipOSName: MS-DOS看得出来,这个zip压缩文件来自Windows系统。
而Linux系统本身压缩的zip文件,最后一个属性是ZipOSName: Unix

解决

在Linux系统下解压Windows用户打包的zip文件,有两个方式:

一、unzip

unzip解压并指定编码类型 -O,可用的参数值gbk gb2312 gb18030 cp930

➜  12月 unzip -O gbk xxx2022年12月居家办公情况表集合.zip
Archive:  xxx2022年12月居家办公情况表集合.zip
  inflating: xxx2022年12月居家办公情况表集合/xxx2022-12-1.doc  
  inflating: xxx2022年12月居家办公情况表集合/xxx2022-12-15.doc  
  inflating: xxx2022年12月居家办公情况表集合/xxx2022-12-16.doc  
  inflating: xxx2022年12月居家办公情况表集合/xxx2022-12-2.doc  
  inflating: xxx2022年12月居家办公情况表集合/xxx2022-12-5.doc 

二、unar

➜  12月 unar xxx2022年12月居家办公情况表集合.zip 
xxx2022年12月居家办公情况表集合.zip: Zip
  xxx2022年12月居家办公情况表集合/xxx2022-12-1.doc  (31232 B)... OK.
  xxx2022年12月居家办公情况表集合/xxx2022-12-15.doc  (31232 B)... OK.
  xxx2022年12月居家办公情况表集合/xxx2022-12-16.doc  (31232 B)... OK.
  xxx2022年12月居家办公情况表集合/xxx2022-12-2.doc  (31232 B)... OK.
  xxx2022年12月居家办公情况表集合/xxx2022-12-5.doc  (31232 B)... OK.
  xxx2022年12月居家办公情况表集合/  (dir)... OK.
Successfully extracted to "./xxx2022年12月居家办公情况表集合".

image

标签:12,情况表,zip,Windows,doc,乱码,办公,居家,xxx2022
From: https://www.cnblogs.com/zzugyl/p/16990503.html

相关文章

  • 离线下载和安装UWP(windows应用商店)软件
    离线下载uwp安装包打开商店,然后搜索您要的应用程序名称,进入应用界面点击分享按钮,在弹出窗口中选择【复制链接】把链接粘贴到:https://store.rg-adguard.net/默认选择的......
  • 漏洞实战部分2-安卓应用ZipEntry对象问题实战
    安卓应用漏洞学习本节课介绍ZipEntry对象,这个对象常用于解压压缩包操作。//ThisclassisusedtorepresentaZIPfileentry.//Author://DavidConnellypubliccla......
  • spring mvc——参数绑定及自定义类型转换——配置解决中文乱码的过滤器
    中文会显示乱码,示例如下:                ......
  • windows 本地搭建Mysql服务
    1.从服务器下载最新的版本https://downloads.mysql.com/archives/community/ 2.解压到本地文件 3.配置系统变量MYSQL_HOME值是本地的地址D:\Program\mysql-8.0.......
  • Windows给pip换源极大提高pip install速度
    1.打开appdata文件夹,在资源管理器的地址栏输入%appdata%后回车,  或者win+r打开命令运行,然后输入%appdata%也可以到该文件目录2.新建文件夹和文件新建一个名为pip的......
  • Windows下JDK的完全卸载
    问题产生原因再一次计算机课上,下载xammp运行tomcat服务时,出现问题,检查发现1.java服务没有问题 2.检查环境变量   发现都没有问题但此时tomca服务还是开启......
  • Ubuntu安装配置 Samba与 Windows 共享文件
    前言我们经常会遇到一边使用linux系统时候一边使用windows,这个时候会产生很多需要传输的文件,当然我们可以使用sshscp进行传输,或者使用FileZilla、Winscp等工具,但是这些还......
  • Gitblit的windows安装(java编写)
    准备工作:1、jdk(大于等于1.8版本)2、GitBlit压缩包;jdk下载地址:https://www.java.com/zh-CN/Gitblit下载地址:http://www.gitblit.com/2、安装java的环境变量此处不在赘述,可......
  • windows 查看证书 Thumbprint
    前言:没前言,就单纯记录一下。命令如下:PowerShell dircert:\LocalMachine\My重点 dircert:\“本地电脑目录或者当前个人目录”\“My对应Person目录”如何还报错......
  • Linux学习系列:挂载windows下的磁盘
    一、场景最近在研究双系统(Windows10+Centos7)部署,已经成功将centos7部署起来。因为是双系统,所以要看windows下磁盘的东西,只能挂载到某个目录去查看。本篇博客主要是阐述相关......