ホームページ >バックエンド開発 >PHPチュートリアル >PclZipの中国語文字化け問題を解決
Pclzip を使用すると、ファイルを圧縮/解凍できません。エラー メッセージを追跡したところ、ファイル/ディレクトリを開けないことがわかりましたが、ファイル パスを出力したところ、フォルダーのアクセス許可は正しいことがわかりました。文字化けした。この問題の理由は、Windows では zip 内のファイル名のエンコーディングが gb2312 であるのに対し、PHP では utf-8 エンコーディングが使用されるためです。解決策は、pclzip.php クラス ファイルを変更することです:
圧縮ファイル部分を変更します:
privAddFile メソッド:
//$p_header['stored_filename'] = $p_filedescr['stored_filename'];
/ / 次の行に変更します
$p_header['stored_filename'] = mb_convert_encoding( $p_filedescr['stored_filename'],'GB2312','UTF-8');
解凍されたファイル部分を変更します:
privExtractFileメソッド:
$p_entry['filename'] = $p_path."/".$p_entry['filename'];
// 次の行を追加します
$p_entry['ファイル名' ] = mb_convert_encoding($p_entry['ファイル名'], 'UTF-8', 'gb2312');
以上、PclZipの中国語文字化け問題の解決方法をその側面も含めて紹介しましたが、PHPチュートリアルに興味のある友人の参考になれば幸いです。