Php 使用日文文件名进行ZipArchive编码
这就是我所做的Php 使用日文文件名进行ZipArchive编码,php,Php,这就是我所做的 $zip = new \ZipArchive; $zip->open('file.zip', \ZipArchive::CREATE | \ZIPARCHIVE::OVERWRITE); foreach ($files as $file) { $zip->addFile( "images/ルフィエール.jpeg"); } 但是在zip文件中,它没有正确地显示,但是它显示如下:T×+s(s+Åp–p)pé+p–jpeg
$zip = new \ZipArchive;
$zip->open('file.zip', \ZipArchive::CREATE | \ZIPARCHIVE::OVERWRITE);
foreach ($files as $file) {
$zip->addFile( "images/ルフィエール.jpeg");
}
但是在zip文件中,它没有正确地显示,但是它显示如下:T×+s(s+Åp–p)pé+p–jpeg
请帮帮我 尝试使用下面的代码,如果不起作用,请尝试将zip中的文件名重命名为英语,然后查看是否有效。如果是这样的话,那么问题就不是一般的ZipArchive或zipping
$zip = new \ZipArchive;
$zip->open('file.zip', \ZipArchive::CREATE | \ZIPARCHIVE::OVERWRITE);
foreach ($files as $file) {
// Hopefully the filename below is dynamic and you're not actually adding the same file over and over
$file = "images/ルフィエール.jpeg";
$content = file_get_contents($file);
//if it is possible for you, I would change the filename to english below as well if this doesn't work
$file_added = $zip->addFromString( pathinfo($file,PATHINFO_BASENAME) , $content);
}
$zip->close();