У меня есть файлы с именами файлов с грузинскими буквами, как
დიადი განთიადი. Flv.
Scandir не может прочитать эти имена файлов, и это показывает как ?????? ??.flv
,
Я пробовал следующее:
$array = scandir($folder);
foreach ($array as $file) {
//$file = iconv('WINDOWS-1252', 'UTF-8', $filename);
//$file = iconv('ISO-8859-1', 'UTF-8', $filename);
//$file = iconv('ISO-8859-15', 'UTF-8', $filename);
pr($file);
}
но ни один из них не работал, он по-прежнему выглядит как ????
, Я также попытался установить header-content в utf-8, но безуспешно. Есть ли способ, как я могу правильно прочитать эти имена файлов с помощью PHP?
Я использую Windows 8.1.
Если я правильно помню, scandir()
способен справиться с URI в процентах имена файлов, так что, просто с моей головы:
$folder_encoded = rawurlencode($folder);
$array = scandir($folder_encoded);
Других решений пока нет …