我在Windows XP控制台中输出Unicode遇到了问题。(Microsoft Windows XP [Version 5.1.2600]) 下面是第一段代码(来源:http://www.siao2.com/2008/03/18/8306597.aspx)
#include
#include
#include
int main(void) {
_setmode(_fileno(stdout), _O_U16TEXT);
wprintf(L"\x043a\x043e\x0448\x043a\x0430 \x65e5\x672c\x56fd\n");
wprintf(L"èéøÞǽлљΣæča\n");
wprintf(L"ぐႢ\n");
wprintf(L"\x3050\x10a0\n");
return 0;
}
我的代码页是65001(CP_UTF8)。除了Ⴂ以外,每个字母都看起来不错。但Ⴂ看起来像一个正方形。 控制台默认字体“Lucida Console”没有那个字母的字体。 所以,我下载了一些其他可以正确渲染Ⴂ的字体,但我无法更改(Visual Studio 2005项目)控制台字体。 我改变了HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe\FontName,但当我检查提示符的属性 -> 字体时,它设置为“Lucida Console”。 有没有办法用API更改控制台字体? 下面的代码是我尝试过的。但它不起作用。帮帮我。
PS:顺便说一下,当我在“代码标记”中放置“include <fcntl.h>”时,带有<>(fcntl.h)的部分消失了。我该如何放置系统包含文件?