![](https://secure.gravatar.com/avatar/b47d036b8f12e712f4960ba78404c3b2.jpg?s=120&d=mm&r=g)
Jon A. Cruz wrote:
If a normal version of a function is called, Windows converts the 16- bit UTF-16 Unicode data to CP_ACP, which is current Ansi Code Page.
e.g. when you have Chinese characters in a filename for a *user* that is running in English, you get the characters replaced with the "replacement" character, which is normally '?'.
Also note that cases where this is an issue are not really rare. One of the earlier cases we hit was of a Japanese student in Germany. The computer he was using was set to Cp1252 (Windows Western), but the student's name included Kanji, so his username and user home directory had Kanji in the name.
With any system running Active Directory, any valid Unicode characters can show up in a username (well, any except for maybe half- a-dozen special ones).
OK, but can whatever is passed to the program be resolved to files? I know that the exact name won't be passed because not all characters are present in the charset, but whether what is passed can be opened as a file isn't documented. It seems there's no other way for me other than performing some tests on Windows to finally resolve this issue.
Regards, Krzysztof Kosiński