c++ cout中文乱码
C++ 输出中文时,cout
会直接将字符流发送到控制台。如果你写入的是 UTF-8 编码的内容,但控制台(终端、cmd、VS 控制台)不是用 UTF-8 解码,就会显示乱码,比如:
-
“你好” 变成 “浣犲ソ”
-
这是 UTF-8 编码的“你好”被用 GBK 解码后的结果。
-
#include <windows.h>
#include <iostream>
int main() {
SetConsoleOutputCP(65001); // 控制台输出 UTF-8
std::cout << "你好" << std::endl;
return 0;
}