我有一个阿拉伯语的 uni-code 字符串显示在输出窗口而不是控制台中,所以我只能使用 OutputDebugStringW,我调用 SetConsoleOutputCP(1256) 来设置阿拉伯语代码页,但它仍然只输出“????”。我该怎么办...
1585 次
1 回答
1
这是对 OutputDebugStringW()的记录限制:
OutputDebugStringW 根据当前系统区域信息转换指定的字符串,并传递给 OutputDebugStringA 进行显示。因此,某些 Unicode 字符可能无法正确显示。
调用 SetConsoleOutputCP() 并不能解决问题,它会更改控制台窗口的代码页,而不是调试器。您必须更改系统区域设置、控制面板 + 区域、管理选项卡。如果阿拉伯语是您最喜欢的语言,那么将其更改为 1256 是合适的做法。它当然会产生系统范围的影响。
于 2012-03-13T12:49:46.907 回答