如何在 Windows 控制台中打印 MACRON/Unicode

How to print MACRON/Unicode in Windows Console

所以目前我最近经常使用 Unicode。 我看到其他人也面临同样的问题,但到目前为止还没有答案解决我的问题。

目前objective是可以在我的Windows控制台Window中打印:¯。 该字符名为 "MACRON",其 Unicode 编号为 U+00AF。

一开始我简单的写了:cout << "some irrelevant text lorem ipsum etc... \u00AF" << endl;

但这最终适得其反,windows 控制台 window 显示 怪异的难以形容的丑陋(无冒犯) 看起来像 T.

我也尝试过使用 wcout wcout << L"some more irrelevant text lorem ipsum etc... \u00AF" << endl; 但是结果是一样的

关于为什么我的来源 code/console window 无法打印 MACRON 字符有什么想法吗?

这个字符的修复很好,但总的来说我会遇到越来越奇怪的 Unicode 字符,所以我可能需要一个更广泛的适用解决方案 没有 downloading/changing 源代码之外的任何东西。

在 Code::Blocks 17.12 IDE

中使用 C++ 编程

使用_setmode(..., _O_U16TEXT);

#include <io.h>
#include <fcntl.h>

...

_setmode(_fileno(stdout), _O_U16TEXT);
std::wcout << L"\u00AF\n";

请务必阅读文档页面上的注意事项,以确保您对使用它的权衡感到满意(例如,普通 printf 将不再在该模式下工作):

https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/setmode?view=vs-2017