nie można odczytać UTF-8 nazw plików z systemu plików Windows (Windows jest głównym językiem angielski)Nie można odczytać UTF-8 nazw plików
<?php
$path_to_read = 'D:\music';
class AudioFilterIterator extends FilterIterator
{
public function accept()
{
return (strpos(parent::current(), '.mp3'));
}
}
$object = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path_to_read));
$iterator = new AudioFilterIterator($object);
echo "<pre>";
$files = array();
foreach($iterator as $file)
{
echo $file . "\n";
}
Więc, jako przykład, mam plik o nazwie „10 Hört auf.mp3 ", ale jako wyjście otrzymuję" 10 Hort auf.mp3 "
Jak mogę to naprawić?
Czy próbowałeś utf8_encode()? W każdym razie bardziej sensowne byłoby zapisywanie plików przy użyciu znaków specjalnych, więc problem ten nie istnieje. – Jonast92
Dlaczego zamiast tego należy użyć 'readdir()' i 'preg_match()'? Ten kod jest dość ciężki dla tego, co robi. – Keelan
Czy nazwy plików nie są w systemie Windows zakodowanym w UTF16? zobacz http://stackoverflow.com/a/2051018/393701 – SirDarius