问题现象
在 Windows git bash 终端下输出的中文为乱码:

即使加了 /utf-8 编译选项也一样:
add_executable(tmp "${PROJECT_SOURCE_DIR}/tmp.cpp")
target_compile_options(
tmp
PRIVATE
$<$<CXX_COMPILER_ID:MSVC>:/utf-8>
)原因分析
Windows 控制台默认不支持 UTF-8 编码输出。 Windows 控制台(cmd.exe / powershell.exe)默认使用 OEM 编码页,通常是 GBK(936); 而你使用的字符串是 UTF-8 编码(C++ 源码/IDE/编译器默认); 所以控制台解释字符串的方式不对,显示成乱码。
解决方案
在不改程序的情况下,比较好的做法是用 chcp 65001(git bash 下为 chcp.com 65001)使终端使用 UTF-8 编码,但这个仅当前终端有效。
https://stackoverflow.com/a/57134096/14504212 提供了一个可以全局有效的设置方案。