中文win32下,文件名使用GBK编码 
Linux下,文件名使用UTF-8编码 

解决文件名解压后乱码的问题,使用将文件名进行转码 

 

 

<?php
$a=zip_open(\’other.zip\’);
while ($e=zip_read($a)){
    $fz = zip_entry_filesize($e);
    $fn = iconv(\’GBK\’,\’UTF-8\’,zip_entry_name($e));
    if (!$fz){//dir
        mkdir($fn);
        continue;
    }
    if (!zip_entry_open($a, $e))
        continue;
    file_put_contents($fn, zip_entry_read($e, $fz));
    echo “$fz\t$fn\n”;
    zip_entry_close($e);
}
zip_close($a);
?>

 

本文转载自:http://www.oschina.net/code/snippet_187361_8100

版权声明:本文为jiangchuanyu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/jiangchuanyu/articles/2324492.html