ZipArchieve方法时的编码问题

来源:互联网 发布:vscode react 编辑:程序博客网 时间:2024/06/11 20:57
   昨天网站的下载系统出了一个问题,下载最新的打包zip文件都是0B大小,而之前的打包则没有问题。由于该系统是由前辈所做,只好慢慢爬代码找问题。
   在凌晨两点半的时候终于确定问题在Zip文件的压缩这一步骤上。但无论是更改代码格式还是减小压缩包大小都无法解决问题。
   最后终于发现半年前系统残留的一个zip文件,文件名是乱码,回头一检查发现是utf8编码。
   这时就想会不会是由于新的zip文件名包含了系统特殊字符从而无法创建。于是就用了iconv("utf8", "gb2312",zippath);对zip文件名进行转码。
   果真如此,成功打包下载!但是新问题来了,压缩包有问题,解压出错了。继续查资料找问题。
   原来是iconv转码时有bug,需要添加//IGNORE。
   iconv("utf8", "gb2312//IGNORE", zippath);
0 0
原创粉丝点击