为什么utf-8字符不显示在cmd.exe中?

我在Windows下testingc + + 11string文字与tdm-gcc:

#include <iostream> int main(int argc, char** argv) { std::cout << u8"你确定要这么做吗" << std::endl; return 0; } 

命令行:

 e:\src\c++\11>g++ utf8_literal.cc -std=c++11 

使用chcp 65001将代码更改为utf8,然后运行该应用程序,结果如此 第一个字符不显示

的第一个汉字是不正确的。 但是,如果添加一个英文字符,例如a那么显示是正确的: 正确的图像先于a

因此我们可以排除字体问题。 为什么第一个字符拒绝显示前面没有英文字符?

Solutions Collecting From Web of "为什么utf-8字符不显示在cmd.exe中?"