使用PHP从zip存档中获取阿拉伯文文件夹名称

使用PHP从zip存档中获取阿拉伯文文件夹名称,php,utf-8,zip,Php,Utf 8,Zip,我有一个zip存档,其中包含文件夹和文件,这些文件夹和文件具有阿拉伯语标题(名称),如: 我正在尝试使用PHP提取这些文件夹 问题是:上传此文件并解压缩后,名称将丢失,如: مجلد جديد => ê¤é§ ¤§ï§ 我使用这段代码来提取: $saved_file_location = $target . $filename; if(move_uploaded_file($source, $target . $filename)) { openZip($saved_file_

我有一个zip存档,其中包含文件夹和文件,这些文件夹和文件具有阿拉伯语标题(名称),如:

我正在尝试使用PHP提取这些文件夹

问题是:上传此文件并解压缩后,名称将丢失,如:

مجلد جديد => ê¤é§ ¤§ï§
我使用这段代码来提取:

$saved_file_location = $target . $filename;

if(move_uploaded_file($source, $target . $filename)) {
    openZip($saved_file_location);
}

function openZip($file_to_open) {
    global $target;
    global $unique_folder;
            global $changed;
            $zip = new ZipArchive();
        $x = $zip->open($file_to_open);
        if ($x === true) {
            $zip->extractTo($target . $unique_folder);
            $zip->close();

            unlink($file_to_open); #deletes the zip file. We no longer need it.
                            $changed = true;
        } else {
            die("There was a problem. Please try again!");
        }
    }

Zip文件不知道文件名的编码。您必须猜测文件名的编码并将其转换为文件系统使用的编码。

我知道编码。。。我肯定是utf-8。。。如何将它们转换成我的工作编码,也就是utf-8。。。但是提取后,名字变得一团糟。。。如何更正它们???函数
openZip
来自何处?
函数openZip($file\u to\u open){global$target;global$unique\u folder;global$changed;$zip=new ZipArchive();$x=$zip->open($file\u to\u open);if($x==true){$zip->extractTo($target.$unique\u folder);$zip->close();取消链接($file_to_open);#删除zip文件。我们不再需要它。$changed=true;}否则{die(“出现问题,请重试!”);}
$saved_file_location = $target . $filename;

if(move_uploaded_file($source, $target . $filename)) {
    openZip($saved_file_location);
}

function openZip($file_to_open) {
    global $target;
    global $unique_folder;
            global $changed;
            $zip = new ZipArchive();
        $x = $zip->open($file_to_open);
        if ($x === true) {
            $zip->extractTo($target . $unique_folder);
            $zip->close();

            unlink($file_to_open); #deletes the zip file. We no longer need it.
                            $changed = true;
        } else {
            die("There was a problem. Please try again!");
        }
    }