diff --git a/cmake/windows-app.manifest.in b/cmake/windows-app.manifest.in index c3bd333a227..e0dc2eb8271 100644 --- a/cmake/windows-app.manifest.in +++ b/cmake/windows-app.manifest.in @@ -1,10 +1,15 @@ - + + + + UTF-8 + + diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index f9934bb5906..fdf8799df8c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -410,6 +410,7 @@ if(BUILD_UTIL_CHAINSTATE) add_executable(bitcoin-chainstate bitcoin-chainstate.cpp ) + add_windows_application_manifest(bitcoin-chainstate) # TODO: The `SKIP_BUILD_RPATH` property setting can be deleted # in the future after reordering Guix script commands to # perform binary checks after the installation step. diff --git a/src/bench/CMakeLists.txt b/src/bench/CMakeLists.txt index 0bf469c79cd..e0e03b1df7c 100644 --- a/src/bench/CMakeLists.txt +++ b/src/bench/CMakeLists.txt @@ -56,6 +56,8 @@ add_executable(bench_bitcoin verify_script.cpp ) +add_windows_application_manifest(bench_bitcoin) + include(TargetDataSources) target_raw_data_sources(bench_bitcoin NAMESPACE benchmark::data data/block413567.raw diff --git a/src/bitcoin.cpp b/src/bitcoin.cpp index c1a5fce33af..5d2b145bb2e 100644 --- a/src/bitcoin.cpp +++ b/src/bitcoin.cpp @@ -6,6 +6,7 @@ #include #include +#include #include #include #include @@ -61,6 +62,8 @@ static void ExecCommand(const std::vector& args, std::string_view a int main(int argc, char* argv[]) { + SetupEnvironment(); + try { CommandLine cmd{ParseCommandLine(argc, argv)}; if (cmd.show_version) { diff --git a/src/common/system.cpp b/src/common/system.cpp index 35a6f4415bc..3833763341a 100644 --- a/src/common/system.cpp +++ b/src/common/system.cpp @@ -12,6 +12,7 @@ #include #ifdef WIN32 +#include #include #include #include @@ -83,6 +84,7 @@ void SetupEnvironment() setenv("LC_ALL", "C.UTF-8", 1); } #elif defined(WIN32) + assert(GetACP() == CP_UTF8); // Set the default input/output charset is utf-8 SetConsoleCP(CP_UTF8); SetConsoleOutputCP(CP_UTF8); diff --git a/src/qt/test/CMakeLists.txt b/src/qt/test/CMakeLists.txt index 8fe4ea68e26..af28271356b 100644 --- a/src/qt/test/CMakeLists.txt +++ b/src/qt/test/CMakeLists.txt @@ -14,6 +14,8 @@ add_executable(test_bitcoin-qt ../../init/bitcoin-qt.cpp ) +add_windows_application_manifest(test_bitcoin-qt) + target_link_libraries(test_bitcoin-qt core_interface bitcoinqt diff --git a/src/test/fuzz/CMakeLists.txt b/src/test/fuzz/CMakeLists.txt index 4d649a737f3..d32d72d8640 100644 --- a/src/test/fuzz/CMakeLists.txt +++ b/src/test/fuzz/CMakeLists.txt @@ -134,6 +134,9 @@ add_executable(fuzz vecdeque.cpp versionbits.cpp ) + +add_windows_application_manifest(fuzz) + target_link_libraries(fuzz core_interface fuzzer_interface