1

我有一个阿拉伯语的 uni-code 字符串显示在输出窗口而不是控制台中,所以我只能使用 OutputDebugStringW,我调用 SetConsoleOutputCP(1256) 来设置阿拉伯语代码页,但它仍然只输出“????”。我该怎么办...

4

1 回答 1

1

这是对 OutputDebugStringW()的记录限制:

OutputDebugStringW 根据当前系统区域信息转换指定的字符串,并传递给 OutputDebugStringA 进行显示。因此,某些 Unicode 字符可能无法正确显示。

调用 SetConsoleOutputCP() 并不能解决问题,它会更改控制台窗口的代码页,而不是调试器。您必须更改系统区域设置、控制面​​板 + 区域、管理选项卡。如果阿拉伯语是您最喜欢的语言,那么将其更改为 1256 是合适的做法。它当然会产生系统范围的影响。

于 2012-03-13T12:49:46.907 回答