我正在尝试使用c ++在控制台窗口中打印Unicode符号 这是我的代码
_setmode(_fileno(stdout), _O_U16TEXT);
std::wcout << L"\u2B24";
奇怪的是,这段代码为某些Unicodes提供了正确的输出,而不是(它打印问号而不是字符)。我无法弄明白为什么。 例如适用于this(\ u061F),不适用于this(\ u2B24)
任何想法我缺少什么?
修改
代码:std::wcout << L"Test-"<<L"\u061F"<< L"-Test" << std::endl;
输出:Test-?-Test
答案 0 :(得分:0)
这可能取决于配置为由控制台窗口使用的字体。如果正在使用的字体没有您正在引用的Unicode条目,则不会显示它。您可以在命令窗口的属性中检查您正在使用的字体。然后在MS提供的字符映射应用程序中打开该字体,您可以检查哪些代码可用。
顺便说一句,你可以add fonts to the Console window。但是,您可能需要记住,运行软件的其他人可能没有配置与您相同的字体。