From cadd3da9a73ce8ca1cbca9531025e31f4b9a9ac6 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Wed, 9 Aug 2023 00:52:10 -0500 Subject: [PATCH] Use UTF-8 conversion for log output and C standard library functions --- src/main.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main.cpp b/src/main.cpp index 9cd1c689f63..45d45d5c3e6 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -473,6 +473,9 @@ main(int argc, char *argv[]) { task_pool_util::TaskPool::task_id_t force_shutdown = nullptr; #ifdef _WIN32 + // Switch default C standard library locale to UTF-8 on Windows 10 1803+ + setlocale(LC_ALL, ".UTF-8"); + // Wait as long as possible to terminate Sunshine.exe during logoff/shutdown SetProcessShutdownParameters(0x100, SHUTDOWN_NORETRY); @@ -516,6 +519,9 @@ main(int argc, char *argv[]) { window_thread.detach(); #endif + // Use UTF-8 conversion for the default C++ locale (used by boost::log) + std::locale::global(std::locale(std::locale(), new std::codecvt_utf8)); + mail::man = std::make_shared(); if (config::parse(argc, argv)) {