我想使用 wcout 显示混有中文的阿拉伯语消息。
下面的代码是可以的:
#include <iostream>
using namespace std;
int main()
{
wcout.imbue(locale("chs"));
wcout << L"中文"; // OK
}
但是,以下代码不起作用:
#include <iostream>
using namespace std;
int main()
{
wcout.imbue(locale(/* What to place here ??? */));
wcout << L"أَبْجَدِيَّة عَرَبِيَّة中文"; // Output nothing. VC++ 2012 on Win7 x64
// Why does the main advantage of unicode not apply here?
}
我认为在采用 unicode 之后应该弃用代码页的概念。
Q1。wout显示这样一个文本的机制是什么?
Q2。为什么 Windows 作为基于 unicode 的操作系统,不支持在其控制台窗口中输出 unicode 字符?