【PHP】ZipArchiveで圧縮するときの日本語(文字化け)対応

PHPでzipファイルを生成してダウンロードするときに中身のファイル名は日本語にしたくて調べたメモ。

addFileするときにshift-jisに変換してやると大丈夫っぽい。

$objZip->addFile($sFilePath, mb_convert_encoding($sFileName, 'sjis-win', 'UTF-8'));

 

ZipArchiveはzip形式のファイルを読み書きするPHPの拡張モジュール。PHPインストール時に使えるようになっている場合が多い。使えない場合はphp.iniを確認するか、PECLでインストールする。PECLのzipページ