Hello,
das hat hier schinbar alles keinen Sinn.
Ich habe eben nochmal
$encoding = mb_convert_variables ('Windows-1252', 'UTF-8', $filename);
In das Testscript eingefügt. Nun wurde die Datei "Böser-Übeltäter-04.txt" einwandfrei angelegt im NTFS, also ohne kryptische Zeichen in der Sicht, aber PHP kommt damit wieder nicht klar beim Auswerten. Unter Windows kann man dann mit der Datei auch einwandfrei arbeiten.
Im GLOB-Array ist der Name laut var_dump($_filenames) zwar noch enthalten, geht man das Array aber mit
foreach ($_filelist as $key => $value)
{
$filenames_html .= htmlspecialchars("[$key] => $value\r\n");
}
durch, wird der Index einfach übergangen.
Da muss also ein Bug in PHP vorhanden sein. Es kann ja nicht angehen, dass man Werte auf ganz legitimen Wegen ins System hineinbekommt, die dann aber auf der einen Seite auch vorhanden sind und auf der anderen zu schweren Fehlern führen.
ERGO: Keine NICHT-ASCII-Zeichen für Dateinamen. Das macht nur Ärger!
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg