为什么文件是乱码怎么办linux文件乱码解决方法linux 文件名乱码怎么解决




为什么文件是乱码怎么办linux文件乱码解决方法linux 文件名乱码怎么解决

2022-07-20 22:28:42 网络知识 官方管理员

1.前言

本文主要讲解如何解决zip文件在解压时遇到的文件名乱码

为什么文件是乱码怎么办(linux文件乱码解决方法)(1)

请看以例子:

oucanrong@zcwyou:~/下载$llHCIE*.zip

-rw-rw-r--1oucanrongoucanrong256595591月2415:03HCIE-RS3.0ppt.zip

我们的目标是解压华为HCIE3.0的课件:HCIE-RS3.0ppt.zip

unzip不加参数解压:

oucanrong@zcwyou:~/下载$unzipHCIE-RS3.0ppt.zip

Archive:HCIE-RS3.0ppt.zip

creating:01PPT/

inflating:01PPT/HCRSE101-LAN╝╝╩ї.pptx

inflating:01PPT/HCRSE102-WAN╝╝╩ї.pptx

inflating:01PPT/HCRSE103-IPv6╗∙┤б.pptx

inflating:01PPT/HCRSE104-OSPF╦л╒╗╘н└э.pptx

inflating:01PPT/HCRSE105-ISIS╦л╒╗╘н└э.pptx

inflating:01PPT/HCRSE106-BGP╦л╒╗╘н└эBasic.pptx

inflating:01PPT/HCRSE107-BGP╦л╒╗╘н└эAdvance&Internet╔ш╝╞.pptx

inflating:01PPT/HCRSE108-┬╖╙╔Import&Control.pptx

inflating:01PPT/HCRSE109-MLD╘н└э.pptx

inflating:01PPT/HCRSE110-PIM╦л╒╗╘н└э.pptx

inflating:01PPT/HCRSE111-MPLSBGPVPN┐ч╙Є.pptx

inflating:01PPT/HCRSE112-Security╝╝╩ї.pptx

inflating:01PPT/HCRSE113-HA&═°╣▄.pptx

inflating:01PPT/HCRSE114-QoS╘н└э.pptx

inflating:01PPT/HCRSE115-SDNVXLAN╘н└э.pptx

inflating:01PPT/HCRSE116-BGPEVPN╘н└э.pptx

inflating:01PPT/HCRSE117-═°┬ч╔ш╝╞╙ы▓·╞╖╜щ╔▄.pptx

inflating:01PPT/HCRSE118-╣╩╒╧░╕└¤╖╓╬Ў.pptx

为什么文件是乱码怎么办(linux文件乱码解决方法)(2)

不指定编码解压可能会引起乱码

结果是文件名全部乱码。

2.查看unzip选项

oucanrong@zcwyou:~/下载$unzip--help

UnZip6.00of20April2009,byDebian.OriginalbyInfo-ZIP.

Usage:unzip[-Z][-opts[modifiers]]file[.zip][list][-xxlist][-dexdir]

Defaultactionistoextractfilesinlist,exceptthoseinxlist,toexdir;

file[.zip]maybeawildcard.-Z=>ZipInfomode("unzip-Z"forusage).

-pextractfilestopipe,nomessages-llistfiles(shortformat)

-ffreshenexistingfiles,createnone-ttestcompressedarchivedata

-uupdatefiles,createifnecessary-zdisplayarchivecommentonly

-vlistverbosely/showversioninfo-Ttimestamparchivetolatest

-xexcludefilesthatfollow(inxlist)-dextractfilesintoexdir

modifiers:

-nneveroverwriteexistingfiles-qquietmode(-qq=>quieter)

-ooverwritefilesWITHOUTprompting-aauto-convertanytextfiles

-jjunkpaths(donotmakedirectories)-aatreatALLfilesastext

-Uuseescapesforallnon-ASCIIUnicode-UUignoreanyUnicodefields

-Cmatchfilenamescase-insensitively-Lmake(some)nameslowercase

-XrestoreUID/GIDinfo-VretainVMSversionnumbers

-Kkeepsetuid/setgid/tackypermissions-Mpipethrough"more"pager

-OCHARSETspecifyacharacterencodingforDOS,WindowsandOS/2archives

-ICHARSETspecifyacharacterencodingforUNIXandotherarchives

See"unzip-hh"orunzip.txtformorehelp.Examples:

unzipdata1-xjoe=>extractallfilesexceptjoefromzipfiledata1.zip

unzip-pfoo|more=>sendcontentsoffoo.zipviapipeintoprogrammore

unzip-fofooReadMe=>quietlyreplaceexistingReadMeifarchivefilenewer

找到-O选项,指定由DOS或者Windows编码的字符集

3.unzip解压时使用选项-O

选项-O用于指定DOS/Windows编码的字符集

使用GBK编码解压文件名。

oucanrong@zcwyou:~/下载$unzip-OGBKHCIE-RS3.0ppt.zip

Archive:HCIE-RS3.0ppt.zip

inflating:01PPT/HCRSE101-LAN技术.pptx

inflating:01PPT/HCRSE102-WAN技术.pptx

inflating:01PPT/HCRSE103-IPv6基础.pptx

inflating:01PPT/HCRSE104-OSPF双栈原理.pptx

inflating:01PPT/HCRSE105-ISIS双栈原理.pptx

inflating:01PPT/HCRSE106-BGP双栈原理Basic.pptx

inflating:01PPT/HCRSE107-BGP双栈原理Advance&Internet设计.pptx

inflating:01PPT/HCRSE108-路由Import&Control.pptx

inflating:01PPT/HCRSE109-MLD原理.pptx

inflating:01PPT/HCRSE110-PIM双栈原理.pptx

inflating:01PPT/HCRSE111-MPLSBGPVPN跨域.pptx

inflating:01PPT/HCRSE112-Security技术.pptx

inflating:01PPT/HCRSE113-HA&网管.pptx

inflating:01PPT/HCRSE114-QoS原理.pptx

inflating:01PPT/HCRSE115-SDNVXLAN原理.pptx

inflating:01PPT/HCRSE116-BGPEVPN原理.pptx

inflating:01PPT/HCRSE117-网络设计与产品介绍.pptx

inflating:01PPT/HCRSE118-故障案例分析.pptx

成功看到中文文件名。

使用GB18030编码解压文件名

oucanrong@zcwyou:~/下载$unzip-OGB18030HCIE-RS3.0ppt.zip

为什么文件是乱码怎么办(linux文件乱码解决方法)(3)

指定GB18030编码解压文件名

同样可以正确解码文件名。

也可以使用GB2312字符集。

oucanrong@zcwyou:~/下载$unzip-OGB2312HCIE-RS3.0ppt.zip

4.关于中文字符集

早期的计算机使用7位的ASCII编码,为了处理汉字,程序员设计了用于简体中文的GB2312和用于繁体中文的big5。

4.1GB2312字符集简介

GB2312(1980年):16位字符集,收录有6763个简体汉字,682个符号,共7445个字符;

优点:适用于简体中文环境,属于中国国家标准,通行于大陆,新加坡等地也使用此编码;

缺点:不兼容繁体中文,其汉字集合过少。

4.2GBK字符集简介

GBK(1995年):16位字符集,收录有21003个汉字,883个符号,共21886个字符;

优点:适用于简繁中文共存的环境,为简体Windows所使用(代码页cp936),向下完全兼容gb2312,向上支持ISO-10646国际标准;所有字符都可以一对一映射到unicode2.0上;

缺点:不属于官方标准,和big5之间需要转换;很多搜索引擎都不能很好地支持GBK汉字。

4.3GB18030字符集简介

GB18030(2000年):32位字符集;收录了27484个汉字,同时收录了藏文、蒙文、维吾尔文等主要的少数民族文字。

优点:可以收录所有你能想到的文字和符号,属于中国最新的国家标准;

缺点:目前支持它的软件较少。

4.4补充Tips

现在的PC平台必须支持GB18030,对嵌入式产品暂不作要求。所以手机、MP3一般只支持GB2312。

从ASCII、GB2312、GBK到GB18030,这些编码方法是向下兼容的,即同一个字符在这些方案中总是有相同的编码,后面的标准支持更多的字符。在这些编码中,英文和中文可以统一地处理。区分中文编码的方法是高字节的最高位不为0。GB2312、GBK到GB18030都属于双字节字符集(DBCS)。

GB18030是中国所有非手持/嵌入式计算机系统的强制实施标准。

发表评论:

最近发表
网站分类
标签列表