A high-level, general-purpose programming language, created as an extension of the C programming language, that has object-oriented, generic, and functional features in addition to facilities for low-level memory manipulation.
The API does say that the parameter should be UTF-8, so converting to that would be the obvious thing to try.
Under Windows, the underlying API to use is WideCharToMultiByte, but depending on your source, there are several different wrappers you can use, such as AtlUnicodeToUTF8; more discussion here.