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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liyuerge/article/details/78998131

今天遇到一个问题,原型图发布后,一直更新不出最新的版本来,于是开始排查问题。
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

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

猜你喜欢

转载自blog.csdn.net/liyuerge/article/details/78998131
今日推荐