在Zip存档中列出文件名时,PHP特殊字符显示不正确

在Zip存档中列出文件名时,PHP特殊字符显示不正确,php,encoding,utf-8,special-characters,encode,Php,Encoding,Utf 8,Special Characters,Encode,我尝试了所有的方法,并在3个不同的php论坛上提出了这个问题,但没有人能想出解决方案。我绝望了 我在一个专用服务器上有一个FTP,我的用户在那里上传zip文件中的mp3。我使用一个php页面来显示归档文件中的文件名列表 问题是,当一些mp3文件名带有重音符号(如éêêêêêê)时,即使页面设置为使用UTF8,也无法正确显示 例如,“é”将变成,。。。。“ô”将变为“…”将变为 您可以在此处找到我用于测试口音的文件: 这篇文章对我的情况毫无用处,因为它讨论的是Java而不是PHP。。。 <?

我尝试了所有的方法,并在3个不同的php论坛上提出了这个问题,但没有人能想出解决方案。我绝望了

我在一个专用服务器上有一个FTP,我的用户在那里上传zip文件中的mp3。我使用一个php页面来显示归档文件中的文件名列表

问题是,当一些mp3文件名带有重音符号(如éêêêêêê)时,即使页面设置为使用UTF8,也无法正确显示

例如,“é”将变成。。。。“ô”将变为“…”将变为

您可以在此处找到我用于测试口音的文件:


这篇文章对我的情况毫无用处,因为它讨论的是Java而不是PHP。。。
<?php
header('Content-Type: text/html; charset=utf-8');

setlocale(LC_ALL, 'fr_FR');

echo "
<html>
<head>
<meta http-equiv=\"Content-type\" content=\"text/html; charset=utf-8\" />
</head>
<body>";

$downloadlink = "dl/pp/86 Crew - 2000 - Bad Bad Reggae.zip";
$za = new ZipArchive();
$za->open($downloadlink);
for( $i = 0; $i < $za->numFiles; $i++ ){
$stat = $za->statIndex( $i );
$tounes = array( basename( $stat['name'] ) . PHP_EOL );
foreach($tounes as $toune) {
echo "$toune <br>";
}
}

echo "</body></html>";
        ?>