We know there is an application called AppLocale, which can change the code page of non-Unicode applications, to solve text display problems.
But there is a program whose right display code page is UTF-8, which means its text should be shown as UTF-8, but instead Windows displays it as the native code page and makes the text unreadable. It seems funny, because there are almost all countries and regions, but without UTF-8. I think it is a bug, because the programmers may use English and ignore testing non-English text display issues. I don't think the producer will fix it and I wanna fix it myself.
Is it possible to set non-Unicode output as UTF-8 by using software like AppLocale? Default non-Unicode output is native code page? How can I set the native code page to UTF-8?
Best Answer
Previously it was not possible because
However there's a "Beta: Use Unicode UTF-8 for worldwide language support" checkbox since Windows 10 insider build 17035 for setting the locale code page to UTF-8
See also
That said, the support is still buggy at this point
Update:
Microsoft has also added the ability for programs to use the UTF-8 locale without even setting the UTF-8 beta flag above. You can use the
/execution-charset:utf-8
or/utf-8
options when compiling with MSVC or set the ActiveCodePage property in appxmanifestYou can also use UTF-8 locale in older Windows versions by linking with the appropriate C runtime