WideCharToMultiByte can convert a WCHAR string to UTF-8.

It may be that WCHAR is the same as UTF-16, but someone will have to confirm that as I haven't done much with Unicode.