unzip解压乱码
A. 将windows中的zip文件传到linux中,解压后中文文件名乱码,使用p7z和convm转码时
字符集问题,如果是word,一般打开后会自动调整字符集,另存为一遍就行了。文件名就没法了,只能自己慢慢改,因为同样是字符集问题,但属于系统字符集,linux一般用utf,windows一般用GB。注意一件事,如果是多系统通用文件,最好用英文做文件名,哪怕是拼音。没法,谁叫计算机的基础是英文呢。
B. 文件批处理docx文档为zip文档后,为什么打开压缩包有乱码,
双击打开压缩文件为乱码怎么办?
不少网友都表示在双击打开压缩文件时出现乱码的情况。我们都知道双击打开压缩包里的压缩文件就是操作系统系统在调用相关的程序打开压缩包里面的文件。一般我们电脑中安装都是WinRAR软件,在默认情况下,是可以双击打开RAR压缩包里的文件的,一般遇到文件是乱码的情况可能是我们解压不当造成的问题,下面小编将会将解决方案分享给大家。
问题分析:打开压缩包的文件,只能是先将压缩包解压,然后双击才能正常打开。如果是直接双击压缩包里的文件,双击压缩包里的文档、图片都不能正常打开,打开后全部显示是乱码。为什么双击压缩包里的文件,会是乱码呢?原因就在于误设置了使用WinRAR的查看器来打开压缩包里的文件。
解决方案:
1.单击桌面上的开始按钮在搜索框中输入winrar找到该软件并启动,在菜单栏中单击【选项】标签,选择【设置】如下图:
--------------------------------------------------------------------
mac打开docx&解压zip后文件名乱码
一、有些版本pages无法打开docx,但可以打开doc,Mac系统中其实内置了转换docx的工具,在terminal中运行如下命令
textutil -convert doc + 需要转换的docx文件(可用通配符,例如*.docx)
运行的结果:在docx文件路径下生成doc文件。
二、在Mac terminal中用unzip命令解压zip后文件名乱码
解决方案:
在app store中下载使用RAR Extractor Free软件解压即可
C. 在linux中解压zip文件,中文字符乱码,请问如何解决。不要粘贴复制。 系统本身的字符集是utf-8
如果你文件夹中只有这一个zip文件的话,可以用命令unzip *.zip 应该就OK了
D. linux下用unzip解压时报错
你这个是多卷压缩,需要把多个zip部分合并到一起才能解压
从你的文件名上看应该是两个分卷,那么你可以尝试:
cat 1.zip 2.zip > 0.zip
unzip 0.zip
E. linux中使用unzip解压文件的时候总是提示错误怎么办
首先排除文件损坏的可能,将文件在Win下解压,看看是否能成功。
如果第1步在win下解压成功,那么就要想一下文件是怎样传到linux系统里的,如果是用ftp,那么上传的时候是否添加了bin参数,也就是从Win到linux的文件传输,一定要使用二进制形式来传输,如果用了ASCII模式,源文件会有所改变,所以在解压的时候就会出错。
一般是zip文件不完整或者损坏,重新下载吧。
linux下解压zip文件需要使用unzip命令,如下:示例:将压缩文件text.zip在当前目录下解压缩。
unzip text.ziplinux自带的unzip命令可以解压windows下的zip格式的压缩文件。unzip命令,语法:unzip[选项]压缩文件名.zip。
F. ubuntu16.10怎么解决.zip文件解压后中文乱码的问题
检查压缩文件的MD5是否与原原件提供的MD5一样 可能是此文件被病毒修改了 检查系统的字库是否有问题 如果文件可运行,那么可能本身就是这样的
G. Linux中unzip解压时中文乱码如何解决
更改源码解决乱码
调试发现问题出现在MultiByteToWideChar方法里,
如 MultiByteToWideChar(CP_ACP,0,fn,-1,tfn,MAX_PATH); 到这里时fn中的name属性值还是正常的,在这个方法内部执行完tfn就乱了。
解决方法:
打开unzip.cpp源文件,找到函数
ZRESULT TUnzip::Get(int index,ZIPENTRY *ze)
{ // ......
// ......} 12345
这个函数里有
#ifdef UNICODE
MultiByteToWideChar(CP_UTF8,0,fn,-1,tfn,MAX_PATH);#else
strcpy(tfn,fn);#endif12345
把 CP_UTF8 改为CP_ACP, ( CP_ACP 指示要使用当前设置的 API 默认 Windows ANSI 代码页)
重新编译后
这样就解决了解压中文文件名称乱码的问题
编译时解决源码问题(无需更改源码)
上面的情况,我们我观察到unzip源代码这段开始的地方有判断
#ifndef Ext_ASCII_TO_Native 1
这样问题似乎更简单了,不用改源代码,只需在make时定义 Ext_ASCII_TO_Native 即可,这样 Ext_ASCII_TO_Native 实际为一个空的宏,不进行任何转换操作。
比如,使用下面的方法编译
make -DExt_ASCII_TO_Native 1
或者在bash执行下面两行
export LOCAL_UNZIP=-DExt_ASCII_TO_Native
make12
unzip解压缩含中文文件名zip包是出现乱码的问题解决!
如果您的系统已经安装了unzip
方法一 unzip行命令解压,指定字符集
通过unzip行命令解压,指定字符集
unzip -O CP936 xxx.zip (用GBK, GB18030也可以)1
方法二 在环境变量中,指定unzip参数
在环境变量中,指定unzip参数,总是以指定的字符集显示和解压文件
/etc/environment中加入2行
UNZIP=”-O CP936″
ZIPINFO=”-O CP936″12
方法三 利用pyton来处理
复制以下内容(python)保存未myuzip.py文件脚本,并修改运行权限为可运行(chmod +x uzip)
#!/usr/bin/env python# -*- coding: utf-8 -*-# uzip.pyimport osimport sysimport zipfileprint "Processing File " + sys.argv[1]
file=zipfile.ZipFile(sys.argv[1],"r");for name in file.namelist():
utf8name=name.decode('gbk') print "Extracting " + utf8name
pathname = os.path.dirname(utf8name) if not os.path.exists(pathname) and pathname!= "":
os.makedirs(pathname)
data = file.read(name) if not os.path.exists(utf8name):
fo = open(utf8name, "w")
fo.write(data)
fo.close
file.close()
这样以后我们解压缩时只需要运行此文件即可
./myuzip.py xxxx.zip
H. linux中使用unzip解压文件的时候总是提示错误
1:首先排除文件损坏的可能,将文件在Win下解压,看看是否能成功。
2:如果第1步在win下解压成功,那么就要想一下文件是怎样传到linux系统里的,如果是用ftp,那么上传的时候是否添加了bin参数,也就是从Win到linux的文件传输,一定要使用二进制形式来传输,如果用了ASCII模式,源文件会有所改变,所以在解压的时候就会出错。
I. 怎么解决ubuntu14.04解压文件乱码
一、通过unzip行命令解压,指定字符集
unzip -O CP936 xxx.zip (用GBK, GB18030也可以)
有趣的是unzip的manual中并无这个选项的说明, unzip --help对这个参数有一行简单的说明。
二、在环境变量中,指定unzip参数,总是以指定的字符集显示和解压文件
/etc/environment中加入2行
UNZIP="-O CP936"
ZIPINFO="-O CP936"
这样Gnome桌面的归档文件管理器(file-roller)可以正常使用unzip解压中文,但是file-roller本身并不能设置编码传递给unzip。
小结
我先用了第二种方法,但是发现自己没装file-roller,于是用第一种方法指定字符集,然后就搞定了,但是还是觉得这个CP936。。。。记不住阿,不知道还有没有更好的方法
J. linux系统下用unzip解压报bad zipfile offset错误
在linux解压rzr不能用unzip命令来解压,unzip只能解压zip
就好比tar.gz只能用tar
zxf
你需要先安装rarlinux这个软件
yum装或者tar包安装完之后
unrar
file即可解压出来
rar
file是压缩成一个rar包