Ich zweifele mal, dass das Problem von nugi89 damit zu tun hat (- das ganze gehört eher in einen eigenen Thread),kralle hat geschrieben:
mal nur so in den Raum gefragt: Könnte es sein das das Dateisystem eine andere Zeichencodierung nutzt als in Lazarus?
aber zur Frage der Zeichencodierung hätte ich nur kurz folgendes zu bemerken:
Windows verwendet in der File-API kein echtes Unicode. Laut Unicode-Standard ungültige
Sequenzen sind dort erlaubt. Das ganze ist kein echtes UTF-16.
Ich würde das was Windows (und C#, Javascript, ...) intern verwenden der Klarheit halber eher
Windows Transformation Format (kurz WTF-16) nennen.
Lazarus verwendet intern gerne UTF-8. UTF-16 kann man zwar verlustfrei in UTF-8 konvertieren,
aber bei WTF-16 geht das nicht immer.
Lösungsansätze zur verlustfreien 8-bit Codierung von Windows-Unicode habe ich bisher folgende gefunden:
WTF-8:
https://simonsapin.github.io/wtf-8/
CESU-8:
https://de.wikipedia.org/wiki/CESU-8