Hi,
Das Problem, das ich sehe, liegt im Fehlen jeglicher Information, welche Zeichencodierung das Dateisystem bzw. dessen API verwendet.
äh nein, in der Windows-Datei-Api ist es als wchar_t* deklariert ...
so einfach ist es nicht, denn es gibt unter Windows sowohl die "modernen" Funktionen, die mit WCHAR arbeiten, also UCS-2 (eine Untermenge von UTF-16), daneben aber der Kompatibilität wegen auch noch die "alten" Funktionen, die eine Ein-Byte-Codierung verwenden. Letztere nutzt PHP, wie wir in einem länger zurückliegenden Thread lernen durften (AFAIR war es Linuchs, der in genau diese Problematik auf einem Windows-Host gelaufen war).
und unter POSIX-Systemen hängt die Interpretation tasächlich vom eingestellten Locale des Users ab, ein Pfadname ist hier ein C-„String“.
Eben, also eine Folge von Bytes ohne Angabe der Codierung.
So long,
Martin