karotte, So you're developing a cross-platform library that deals with filenames as a const char * (or the equivalent thereof)? On Windows, please treat the the filenames as UTF-8 and internally convert them to UTF-16 to call the Unicode Windows APIs or only have a wchar_t* function available.
DO NOT pass the filename as-is to the ANSI Windows APIs. With char * being treated as UTF-8 encoded text, this appears to work until an umlaut or another non-ASCII character appears in a filename.
Thank you.
Add comment