解決 PclZip 中文亂碼問題

在使用 Pclzip 時出現沒法壓縮/解壓文件的現象,追蹤錯誤信息發現沒法打開文件/目錄,可是文件夾權限正確,打印文件路徑以後發現是亂碼。出現這個問題的緣由是 windows下zip內的文件名編碼是 gb2312,而php使用的是 utf-8 編碼。解決辦法是修改 pclzip.php 類文件:php

壓縮文件部分修改:html

privAddFile 方法中的:linux

//$p_header['stored_filename'] = $p_filedescr['stored_filename'];windows

// 修改成下面一行編碼

$p_header['stored_filename'] = mb_convert_encoding( $p_filedescr['stored_filename'],'GB2312','UTF-8');htm

解壓文件部分修改:教程

privExtractFile 方法中的:ip

$p_entry['filename'] = $p_path."/".$p_entry['filename'];utf-8

// 加入下面一行get

$p_entry['filename'] = mb_convert_encoding($p_entry['filename'], 'UTF-8', 'gb2312');

相關文章
相關標籤/搜索