I expect that calling the function F on system X will work the same as calling that same function on system Y.That's the contract in cross-platform programming.
Heh, I remember working around a filesystem that doesn't support unicode, I used bullet • as utf8 prefix and heuristically detected that names starting with that prefix are utf8 encoded and decoded from that.