Commenter Chris Becke asks how the common controls convert ANSI parameters to Unicode, since the common controls are Unicode internally.
Everything goes through
CP_ACP, pretty much by definition. The ANSI code page is
CP_ACP. That's what ACP stands for, after all.
Now, there are some function families that do not use ANSI. The console subsystem, for example, prefers the OEM character set for its 8-bit strings, and file system functions can go either way, based on the setting controlled by the
In the scenario Chris describes, I suspect that the problem is not the ANSI-to-Unicode conversion but rather that the font selected into the listview didn't support the necessary characters.