@ David: da fehlt ne 2te schließende Klasmmer nach $handle
@ topic: Da das 02 und das .mp3 richtig angezeigt wird, scheint es so, als würde es sich hier um UTF-8 (Unicode 8bit) handeln (siehe Wikipedia). Bis jetzt dachte ich eigentlich, dass Windoof UTF-16 in APIs und NTFS verwendet ...
Du hast so ziemlich das größte Problem, das es bei PHP gibt: Charsets.
PHP arbeitet nämlich eigentlich mit ISO-8858-1, das kann leider aber keine russischen Zeichen darstellen. Da die Strings von PHP binary-safe sein sollten, müssten die Funktionen für readdir, etc. aber trotzem für Unicode funktionieren.
Damit russische Pfadangaben in der .php funktionieren, muss die Datei mit dem richtigen Encoding (scheinbar UTF-

abgespeichert werden. Sonst werden die Pfade nicht erkannt (weils eben keine russischen Zeichen gibt). Damit der Browser keine ??? statt dem eigentlichen Text anzeigt, muss dem Browser per Header(...) klar gemacht werden, dass es sich um UTF-8 handelt. Daraus folgend müssen aber auch alle anderen String als UTF-8 kodiert sein, was eigentlich durch's abspeichern mit dem Encoding sichergestellt wird.
Eine andere Variante ist mit UTF8_encode und _decode ständig herumzukonvertieren. Das ist aber nicht so das Wahre.
Mein Windows-Support hat irgendwo seine Grenzen, seit dem ich Linux benutze - sry.