我希望我的代码能够输出unicode字符。这是我的代码。
printf("\u2660"); //Spade character
当用Cygwin编译和执行时,它工作得很好,并且显示了黑桃字符(♠)。然而,在MinGW中却不能工作,因为UTF-8编码显示为三个字符(ÔÖá)。
在可执行文件中,两种情况下该字符都存储为UTF-8,所以问题不是来自编译。
那么,为什么Cygwin和MinGW的控制台表现不同?有什么办法可以解决用MinGW也显示UTF-8的问题吗?
如何在控制台中运行MinGW应用程序? 有不同的方法。
无论是哪种方式,你都应该进入属性或选项(前两种方式是点击控制台窗口左上方的图标),并将字体改为支持Unicode的字体。
另外,在你的应用程序中使用宽字符输出,比如这样。wprintf(L"\u2660");