不同语言的Windows系统下的文件解压
最近参加公司的培训课程,由于我在日本出差,培训课程的资料文件,本部是以压缩包的形式邮件发送给我的,附件下载后用Windows自带的WinRAR工具解压之后,文件名中的日文汉字乱码了。
我的解决办法是
首先下载专业的7z压缩工具,据说这是目前压缩率最高的解压缩开源工具。下载地址https://www.7-zip.org/download.html根据自己的操作系统选择合适的安装程序,我的是基于x64处理器的64位操作系统。
下载完直接安装,然后在安装目录下打开命令行终端,执行下面命令,就可以正常解压缩了。
我的安装目录是D:\Program Files\7-Zip
.\7z.exe x "C:\Users\27643\Downloads\0417.zip" -oC:\Users\27643\Downloads\ -mcp=932
- x 是解压文件命令,
- "C:\Users\27643\Downloads\0417.zip" 是要解压的目标文件路径,
- -oC:\Users\27643\Downloads\ 是解压后文件的存放路径,
- -mcp=932 是解压指定文字编码为日文操作系统的默认编码格式-ShiftJIS
这样解压出来的文件名就能正常表示了。
原因这里也做一个简单的解释
是因为不同的操作系统,默认的文字编码不一样,WinRAR或者7z压缩和解压文件的时候,是依据当前系统的默认编码的,也就是给我发送压缩文件的部门负责人的系统是日文系统,默认编码是932日文(Shift-JIS),而我的电脑是从国内带来的,默认编码是936中国 - 简体中文(GB2312),压缩和解压缩用的编码格式不一样,当然文件名也就乱码了。所以还有一个解决办法就是,改变自己系统的编码,比如从936中国 - 简体中文(GB2312)改到932日文(Shift-JIS),这样就和压缩方的编码格式一致了,可以正常解压缩。
修改办法
把这个里面的语言设置为对应压缩文件的系统的语言就可以了,比如日语。
但是注意这有一个问题,修改完后,部分使用932编码的程序会出现路径读取,配置文件读取等的问题,尤其对于很多开发工具。我还遇到修改完之后英雄联盟客户端打不开的情况,恢复成936编码后又好了。
查看当前系统代码页的命令
chcp
下表列出了所有支持的代码页及其国家(地区)或者语言:
点击查看代码
代码页 国家(地区)或语言
437 美国
708 阿拉伯文(ASMO 708)
720 阿拉伯文(DOS)
850 多语言(拉丁文 I)
852 中欧(DOS) - 斯拉夫语(拉丁文 II)
855 西里尔文(俄语)
857 土耳其语
860 葡萄牙语
861 冰岛语
862 希伯来文(DOS)
863 加拿大 - 法语
865 日耳曼语
866 俄语 - 西里尔文(DOS)
869 现代希腊语
874 泰文(Windows)
932 日文(Shift-JIS)
936 中国 - 简体中文(GB2312)
949 韩文
950 繁体中文(Big5)
1200 Unicode
1201 Unicode (Big-Endian)
1250 中欧(Windows)
1251 西里尔文(Windows)
1252 西欧(Windows)
1253 希腊文(Windows)
1254 土耳其文(Windows)
1255 希伯来文(Windows)
1256 阿拉伯文(Windows)
1257 波罗的海文(Windows)
1258 越南文(Windows)
20866 西里尔文(KOI8-R)
21866 西里尔文(KOI8-U)
28592 中欧(ISO)
28593 拉丁文 3 (ISO)
28594 波罗的海文(ISO)
28595 西里尔文(ISO)
28596 阿拉伯文(ISO)
28597 希腊文(ISO)
28598 希伯来文(ISO-Visual)
38598 希伯来文(ISO-Logical)
50000 用户定义的
50001 自动选择
50220 日文(JIS)
50221 日文(JIS-允许一个字节的片假名)
50222 日文(JIS-允许一个字节的片假名 - SO/SI)
50225 韩文(ISO)
50932 日文(自动选择)
50949 韩文(自动选择)
51932 日文(EUC)
51949 韩文(EUC)
52936 简体中文(HZ)
65000 Unicode (UTF-7)
65001 Unicode (UTF-8)