一、问题背景描述
工作中有需要将之前安装在Windows服务器上的文件,迁移搬运到Linux环境的需要,我这边将需要打包的文件夹目录打成.zip格式包后,上传到Linux环境,再通过unzip命令操作解压,但是,原本在Windows环境下,文件夹目录中正常显示的中文文件名,到了Linux环境通过unzip解压操作之后,却出现了全量中文文件名乱码的问题。后经过搜索了解了出现问题现象的原因,有了处理应对方式。
二、操作流程记录
2-1、在Windows环境下得到zip包

2-2、直接通过unzip命令解包后,得到大量文件名中出现了中文乱码
unzip decisions.zip

2-3、解决方案
在使用unzip命令进行解包的时候,需要指定具体的-O GBK参数。
unzip -O GBK decisions.zip

在Linux环境下使用unzip解压Windows生成的ZIP包时,因编码不一致导致中文文件名乱码。根本原因是ZIP规范未强制指定文件名编码,Windows常用GBK而Linux默认UTF-8。解决方法是在unzip命令中显式指定-O GBK参数,使解压器正确解析中文文件名编码。
300

被折叠的 条评论
为什么被折叠?



