Tach,
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).
uargh, kann ich bestätigen mit PHP 5.6.14 (allerdings sind die amd64-builds auch noch als experimentell gekennzeichet, ist ja auch erst 6 Jahre her, dass das die von MS bevorzugte Plattform ist).
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.
Ja, die Kodierung wird bei POSIX beim Lesen und Schreiben von den Systemvariablen gesetzt; Standard bei Linux- und BSD-Distributionen (soweit ich das sehe) ist hier UTF-8.
mfg
Woodfighter