ホームページ >バックエンド開発 >PHPチュートリアル >PclZipの中国語文字化け問題を解決

PclZipの中国語文字化け問題を解決

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-08-08 09:28:241445ブラウズ

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チュートリアルに興味のある友人の参考になれば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。