In order to run anything on Windows, one will certainly need to generate some system calls, that involves Win32 API. But string operations should really be separated from API calls themselves.
In the old days where UTF-8 was not famillar, having code pages are great... Just not that great today. Today we have tons of third party solutions that can handle strings of all forms properly, so it simply makes no sense to discuss heavily around that. After all, this forum is about developing applications on Windows, not avoiding traps set by the Evil Microsoft / turn the framework over to get the job done, am I right?