Windows *needs* a UTF-8 locale set to correctly handle UTF-8 output

This commit is contained in:
Marcus Holland-Moritz 2023-07-04 12:35:55 +02:00
parent b82dd1d94f
commit f850641657

View File

@ -84,8 +84,13 @@ int safe_main(std::function<int(void)> fn) {
#ifndef _WIN32
folly::symbolizer::installFatalSignalHandler();
#endif
std::locale::global(std::locale(""));
std::setlocale(LC_ALL, "");
#ifdef _WIN32
char const* locale = "en_US.utf8";
#else
char const* locale = "";
#endif
std::locale::global(std::locale(locale));
std::setlocale(LC_ALL, locale);
setup_terminal();