Oder den kurze 8.3-Namen dieses Verzeichnisses oder im ganzen Pfad verwenden.
Wenn es im OEM-Zeichensatz das gewünschte Zeichen nicht gibt, dann lässt es sich sowieso nicht umwensen.
Und er hat ein
Unicode-Delphi, womit
ANSI sowieso nicht direkt geht, da er dann nocheine zweite Umwandlung hätte. (aka Google-Translate: deutsch->chineisch->englisch
)
AnsiToOem ist nicht so gut und selbt Microsoft sagt dazu.
[
OH="
MSDN (.Net)"]Wird nur aus Gründen der Abwärtskompatibilität bereitgestellt. Verwenden Sie stattdessen die GETCP( )-Funktion[/
OH]
In der
WinAPI wäre es
CharToOem (CharToOemW) und auch da sollte man etwas aufpassen.
Zitat von
MSDN:
Warning Do not use. See Security Considerations.
[add]
AnsiToOemBuffW,
CharToOemBuffW
Man könnte auch mit
SetFileApisToOEM rumspielen und schauen was dabei in der Datei landet,
oder man nimmt den aktuellen Weg, um die Codepage umzuwandeln. (WideCharToMultiByte mit CP_OEMCP)