使用 Pclzip 時出現無法壓縮/解壓縮檔案的現象,追蹤錯誤訊息發現無法開啟檔案/目錄,但是資料夾權限正確,列印檔案路徑之後發現是亂碼。出現這個問題的原因是windows下zip內的檔名編碼是 gb2312,而php使用的是 utf-8 編碼。解決方法是修改pclzip.php 類別檔案:
壓縮檔案部分修改:
privAddFile 方法中的:
//$p_header['stored_filename'] = $p_descr['stored_scr;修改為下面一行
$p_header['stored_filename'] = mb_convert_encoding( $p_filedescr['stored_filename'],'GB2312','UTF-8');壓縮
privExtractFile 方法中的:$p_entry['filename'] = $p_path."/".$p_entry['filename'];
///>加入下面一行 ] = mb_convert_encoding($p_entry['filename'], 'UTF-8', 'gb2312');
以上就介紹了解決 PclZip 中文亂碼問題,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。