linux下zip解压乱码问题的解决

今天遇到一个问题,原型图发布后,一直更新不出最新的版本来,于是开始排查问题。
1.排查nginx是否有问题:
nginx主要用来提供静态页面访问服务,而且既然可以访问原型页面,说明nginx部署没有问题。
环境问题排除掉。
2.排查是否存在两个存放原型图的位置。
因为之前服务器被重启过一次,nginx重启后丢失启动文件,导致nginx无法启动,重新配置后,不确定是否配置和之前有冲突的地方,所以检查原型图存放地址是否和之前相同,经检查,路径的正确,且只有这一个文件夹用来存放发布的原型图。
3.环境没有问题,路径没有问题,初步断定问题出现在原型图本身。
原型图由本身是在windows下用axure生成的html文件,压缩为zip后上传至服务器,然后解压到相应目录,由nginx对外发布。所以判断解压过程中出现问题,可能问题初步猜测有两个,第一:解压过程中没有是覆盖解压,所以没有更新成功,检查解压命令,发现命令采用的就是覆盖解压,所以排除此问题,第二,覆盖解压,但是解压过程中出现某种错误,导致,原文件并没有被覆盖替换,而且新的文件也解压成功。用xftp浏览服务器文件夹,发现原型图文件夹下文件存在乱码文件,所以初步判断,正常文件为原来的原型图,乱码文件为新的原型图,因为产生乱码,没有将原来文件覆盖,于是删除文件夹,重新解压,发现乱码问题依旧,于是百度,

在windows上压缩的文件,是以系统默认编码中文来压缩文件。由于zip文件中没有声明其编码,所以linux上的unzip一般以默认编码解压,中文文件名会出现乱码。
虽然2005年就有人把这报告为bug, 但是info-zip的官方网站没有把自动识别编码列入计划,可能他们不认为这是个问题。Sun对java中存在N年的zip编码问题,采用了同样的处理方式。

重新解压,指定解压字符集

unzip -O CP936 xxx.zip

刷新访问,更新成功,完美解决

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值