6

zip アーカイブを生成するために、php ZipArchive クラスを使用しています。addFile メソッドの 2 番目のパラメーターを使用して、アーカイブ内のファイルの名前を設定します (ディスク上の実際のファイルの名前は異なるため)。一部の名前にはフランス語のアクセント (é など) が含まれている必要があります。アーカイブをダウンロードすると、アクセントがファイル名に正しく表示されません。ファイル名にはどのエンコーディングを使用すればよいですか? (アプリケーションは UTF-8 を使用します)

4

4 に答える 4

9

これは php バグ #53948です。公式のバグ レポートを参照してください。

推奨される回避策(私のために働いた):

$zip->addFile($file, iconv("UTF-8", "CP852", $local_name));
于 2012-10-05T21:07:58.477 に答える
4

DOS エンコーディングを使用します。私のファイル名にはキリル文字が含まれているため、ファイルcp1251cp866$zip->addFile().

于 2012-08-16T04:30:22.923 に答える
2

zip ファイルには特定のエンコーディングがありません。アーカイブ ツールは、使用されているエンコーディングを推測 (または想定) する必要があります。まず CP1252 を試してから、そこから始めてください。

于 2011-02-15T15:03:22.423 に答える