The main goal is to remove deprecated code (removed in C++26).
This PR demonstrates Microsoft’s modern approach to handling UTF-8:
Until recently, Windows has emphasized “Unicode” -W variants over -A APIs. However, recent releases have used the ANSI code page and -A APIs as a means to introduce UTF-8 support to apps. If the ANSI code page is configured for UTF-8, then -A APIs typically operate in UTF-8. This model has the benefit of supporting existing code built with -A APIs without any code changes.
TODO:
- Handle application manifests properly when building with MSVC.
- Bump the minimum supported Windows version to 1903 (May 2019 Update).
- Remove all remaining use cases of the deprecated
std:wstring_convert
.
Based on #32396.