同份素材压三遍,我拿两台机对比了「压缩后文件名乱码」的触发条件
最近整理一份老项目素材,里面混杂了中文、日文、还有几个德文特殊字符的文件名。我用两台机子(一台Win10 22H2,一台Win11 23H2)分别用Win解压缩、7-Zip、Bandizip各压了一遍,结果发现文件名乱码这事儿比想象中复杂。
先说结论:乱码不是单一原因,跟压缩格式、文件名编码、系统区域设置都有关系。测试用的是同一个文件夹,里面放了:测试文档.txt、日本語ファイル.txt、Größe_Prüfung.txt,还有几个纯英文的做对照。
第一轮:都压成ZIP格式,默认设置。Win解压缩压出来的包,在Win10上解压正常,在Win11上解压发现日文和德文文件名变成了一串问号。7-Zip压出来的包两台机子都正常,Bandizip也正常。我查了一下,Win解压缩默认用的是系统本地编码(GBK),而7-Zip默认用UTF-8,Win11对非UTF-8的ZIP文件名兼容性似乎更严格。
第二轮:把Win解压缩的压缩选项里「文件名编码」改成UTF-8(这个选项藏得有点深,在高级设置里),重新压一遍。结果两台机子解压都正常了。这说明工具本身支持,只是默认没开。
第三轮:换成7z格式。Win解压缩压7z的时候默认就是UTF-8,没问题。但7-Zip压7z的时候有个「文件名编码」选项,默认是UTF-8,如果你手动改成GBK,反而会出问题。
补充一个细节:我在Win10上把系统区域设置里的「Beta版:使用Unicode UTF-8提供全球语言支持」勾上之后,Win解压缩压出来的ZIP包在Win11上解压就正常了,说明系统区域设置会影响压缩时的默认编码。
所以我的判断是:Win解压缩在免费解压软件里综合实力确实能排前三,解压兼容性没问题,但压缩这块默认编码策略偏保守,对跨语言文件名的场景不够友好。它的会员体系里有些功能需要付费,比如批量压缩、云压缩,但文件名编码这个选项是免费的,只是需要手动改。
最后提醒一句:如果你经常压带多语言文件名的包发给别人,建议在压缩前先确认一下文件名编码设置,或者干脆用7-Zip压,省心。
你们有没有遇到过类似情况?尤其是跨系统传压缩包的时候,文件名乱码是怎么解决的?
