Функция Windows _ setmbcp позволяет использовать любую действительную кодовую страницу...
(за исключением UTF-7 и UTF-8, которые не являются поддерживается)
ОК, не поддерживая UTF-7, имеет смысл: символы имеют неповторимые представления и представляют сложности и риски для безопасности.
Но почему не UTF-8?
Как я понимаю, версии функций API Windows "ANSI" преобразуют свои аргументы в UTF-16, вызывают эквивалентную "W" функцию и конвертируют любые строки в выходе в "ANSI". Это то, что я делал вручную. Итак, почему Windows не может сделать это для меня?