为什么文件是乱码怎么办|linux文件乱码解决方法
1. 前言
本文主要讲解如何解决zip文件在解压时遇到的文件名乱码。
请看以例子:
oucanrong@zcwyou:~/下载$ ll HCIE*.zip
-rw-rw-r-- 1 oucanrong oucanrong 25659559 1月 24 15:03 HCIE-RS3.0ppt.zip
我们的目标是解压华为HCIE3.0的课件:HCIE-RS3.0ppt.zip
unzip不加参数解压:
oucanrong@zcwyou:~/下载$ unzip HCIE-RS3.0ppt.zip
Archive: HCIE-RS3.0ppt.zip
creating: 01 PPT/
inflating: 01 PPT/HCRSE101-LAN╝╝╩?.pptx
inflating: 01 PPT/HCRSE102-WAN╝╝╩?.pptx
inflating: 01 PPT/HCRSE103-IPv6╗?┤б.pptx
inflating: 01 PPT/HCRSE104-OSPF╦л╒╗╘н└э.pptx
inflating: 01 PPT/HCRSE105-ISIS╦л╒╗╘н└э.pptx
inflating: 01 PPT/HCRSE106-BGP╦л╒╗╘н└эBasic.pptx
inflating: 01 PPT/HCRSE107-BGP╦л╒╗╘н└эAdvance&Internet╔ш╝╞.pptx
inflating: 01 PPT/HCRSE108-┬╖╙╔Import&Control.pptx
inflating: 01 PPT/HCRSE109-MLD╘н└э.pptx
inflating: 01 PPT/HCRSE110-PIM╦л╒╗╘н└э.pptx
inflating: 01 PPT/HCRSE111-MPLS BGP VPN┐ч╙?.pptx
inflating: 01 PPT/HCRSE112-Security╝╝╩?.pptx
inflating: 01 PPT/HCRSE113-HA&═°╣▄.pptx
inflating: 01 PPT/HCRSE114-QoS╘н└э.pptx
inflating: 01 PPT/HCRSE115-SDN VXLAN╘н└э.pptx
inflating: 01 PPT/HCRSE116-BGP EVPN╘н└э.pptx
inflating: 01 PPT/HCRSE117-═°┬ч╔ш╝╞╙ы▓·╞╖╜щ╔▄.pptx
inflating: 01 PPT/HCRSE118-╣╩╒╧?╕└¤╖╓╬?.pptx
不指定编码解压可能会引起乱码
结果是文件名全部乱码。
2. 查看unzip选项
oucanrong@zcwyou:~/下载$ unzip --help
UnZip 6.00 of 20 April 2009, by Debian. Original by Info-ZIP.
Usage: unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
Default action is to extract files in list, except those in xlist, to exdir;
file[.zip] may be a wildcard. -Z => ZipInfo mode ("unzip -Z" for usage).
-p extract files to pipe, no messages -l list files (short format)
-f freshen existing files, create none -t test compressed archive data
-u update files, create if necessary -z display archive comment only
-v list verbosely/show version info -T timestamp archive to latest
-x exclude files that follow (in xlist) -d extract files into exdir
modifiers:
-n never overwrite existing files -q quiet mode (-qq => quieter)
-o overwrite files WITHOUT prompting -a auto-convert any text files
-j junk paths (do not make directories) -aa treat ALL files as text
-U use escapes for all non-ASCII Unicode -UU ignore any Unicode fields
-C match filenames case-insensitively -L make (some) names lowercase
-X restore UID/GID info -V retain VMS version numbers
-K keep setuid/setgid/tacky permissions -M pipe through "more" pager
-O CHARSET specify a character encoding for DOS, Windows and OS/2 archives
-I CHARSET specify a character encoding for UNIX and other archives
See "unzip -hh" or unzip.txt for more help. Examples:
unzip data1 -x joe => extract all files except joe from zipfile data1.zip
unzip -p foo | more => send contents of foo.zip via pipe into program more
unzip -fo foo ReadMe => quietly replace existing ReadMe if archive file newer
找到-O选项,指定由DOS或者Windows编码的字符集
3. unzip解压时使用选项-O
选项-O用于指定DOS/Windows编码的字符集
使用GBK编码解压文件名。
oucanrong@zcwyou:~/下载$ unzip -O GBK HCIE-RS3.0ppt.zip
Archive: HCIE-RS3.0ppt.zip
inflating: 01 PPT/HCRSE101-LAN技术.pptx
inflating: 01 PPT/HCRSE102-WAN技术.pptx
inflating: 01 PPT/HCRSE103-IPv6基础.pptx
inflating: 01 PPT/HCRSE104-OSPF双栈原理.pptx
inflating: 01 PPT/HCRSE105-ISIS双栈原理.pptx
inflating: 01 PPT/HCRSE106-BGP双栈原理Basic.pptx
inflating: 01 PPT/HCRSE107-BGP双栈原理Advance&Internet设计.pptx
inflating: 01 PPT/HCRSE108-路由Import&Control.pptx
inflating: 01 PPT/HCRSE109-MLD原理.pptx
inflating: 01 PPT/HCRSE110-PIM双栈原理.pptx
inflating: 01 PPT/HCRSE111-MPLS BGP VPN跨域.pptx
inflating: 01 PPT/HCRSE112-Security技术.pptx
inflating: 01 PPT/HCRSE113-HA&网管.pptx
inflating: 01 PPT/HCRSE114-QoS原理.pptx
inflating: 01 PPT/HCRSE115-SDN VXLAN原理.pptx
inflating: 01 PPT/HCRSE116-BGP EVPN原理.pptx
inflating: 01 PPT/HCRSE117-网络设计与产品介绍.pptx
inflating: 01 PPT/HCRSE118-故障案例分析.pptx
成功看到中文文件名。
使用GB18030编码解压文件名
oucanrong@zcwyou:~/下载$ unzip -O GB18030 HCIE-RS3.0ppt.zip
指定GB18030编码解压文件名
同样可以正确解码文件名。
也可以使用GB2312字符集。
oucanrong@zcwyou:~/下载$ unzip -O GB2312 HCIE-RS3.0ppt.zip
4. 关于中文字符集
早期的计算机使用7位的ASCII编码,为了处理汉字,程序员设计了用于简体中文的GB2312和用于繁体中文的big5。
4.1 GB2312字符集简介
GB2312(1980年):16位字符集,收录有6763个简体汉字,682个符号,共7445个字符;
优点:适用于简体中文环境,属于中国国家标准,通行于大陆,新加坡等地也使用此编码;
缺点:不兼容繁体中文,其汉字集合过少。
4.2 GBK字符集简介
GBK(1995年):16位字符集,收录有21003个汉字,883个符号,共21886个字符;
优点:适用于简繁中文共存的环境,为简体Windows所使用(代码页cp936),向下完全兼容gb2312,向上支持 ISO-10646 国际标准 ;所有字符都可以一对一映射到unicode2.0上;
缺点:不属于官方标准,和big5之间需要转换;很多搜索引擎都不能很好地支持GBK汉字。
4.3 GB18030字符集简介
GB18030(2000年):32位字符集;收录了27484个汉字,同时收录了藏文、蒙文、维吾尔文等主要的少数民族文字。
优点:可以收录所有你能想到的文字和符号,属于中国最新的国家标准;
缺点:目前支持它的软件较少。
4.4 补充Tips
现在的PC平台必须支持GB18030,对嵌入式产品暂不作要求。所以手机、MP3一般只支持GB2312。
从ASCII、GB2312、GBK到GB18030,这些编码方法是向下兼容的,即同一个字符在这些方案中总是有相同的编码,后面的标准支持更多的字符。在这些编码中,英文和中文可以统一地处理。区分中文编码的方法是高字节的最高位不为0。GB2312、GBK到GB18030都属于双字节字符集 (DBCS)。
GB18030是中国所有非手持/嵌入式计算机系统的强制实施标准。
相关内容
-
显卡出了问题怎么办|常见的AMD显卡问题及解决方
显卡出了问题怎么办|常见的AMD显卡问题及解决方法,显卡,解决...
-
u盘里怎么安装软件|微鲸电视安装第三方软件的方
u盘里怎么安装软件|微鲸电视安装第三方软件的方法,电视安装,...
-
内存卡格式化了怎么办|如何恢复内存卡里的文件
内存卡格式化了怎么办|如何恢复内存卡里的文件,内存,文件,恢...
-
手机如何投影|手机投屏到电视上的最佳方法
手机如何投影|手机投屏到电视上的最佳方法,投屏,方法,投影,连...
-
iphone照片恢复方法|苹果手机删完的照片怎么找
iphone照片恢复方法|苹果手机删完的照片怎么找回,苹果手机,照...
-
怎么恢复exe文件夹|电脑文件永久删除了如何恢复
怎么恢复exe文件夹|电脑文件永久删除了如何恢复,删除,恢复,恢...
-
电脑qq空间怎么打不开|qq空间打不开的原因与解
电脑qq空间怎么打不开|qq空间打不开的原因与解决方法,打不开,...
-
苹果手机如何从电脑导入图片|苹果手机与电脑传
苹果手机如何从电脑导入图片|苹果手机与电脑传文件最快方法,...
-
iphone手机通话录音的方法|苹果手机怎么才能使
iphone手机通话录音的方法|苹果手机怎么才能使用通话录音,苹...
-
win10默认网关不可用怎么解决|Win10默认网关不
win10默认网关不可用怎么解决|Win10默认网关不可用修复方法,...
-
怎样快捷恢复出厂设置|mac恢复出厂设置的方法
怎样快捷恢复出厂设置|mac恢复出厂设置的方法,恢复出厂设置,...
-
u盘数据损坏如何恢复|u盘数据恢复最简单方法
u盘数据损坏如何恢复|u盘数据恢复最简单方法,数据恢复,方法,...
-
回收站被清空了怎么恢复回来|回收站清空后还能
回收站被清空了怎么恢复回来|回收站清空后还能找回文件吗,回...
-
u盘卷标怎么设置|U盘不能修改卷标的解决方法
u盘卷标怎么设置|U盘不能修改卷标的解决方法,解决方法,修改,...
-
win10如何进行宽带连接|win10电脑互传文件最快
win10如何进行宽带连接|win10电脑互传文件最快的方法,互传,文...