我有一个正在使用的特定库(IBM的WebSphere MQ),带有一个假定返回远程服务器字符集的API。

经过一些调试后,此函数调用的返回值似乎返回了我机器的活动代码页。我通过查看函数调用的返回值以及在命令行中运行chcp的结果看到了这一点-两者均返回862。当我在“控制面板”->“区域和语言选项”->“高级”选项卡中将语言更改为还有一些事情,两个价值观又一次改变了,这证实了我的怀疑。

我的问题是,chcp返回的值是什么?什么Win32 API可以获取/设置它?它与语言环境有何关系? (试图使用std::locale::global更改C ++应用程序中的全局语言环境显然对其没有影响)。

最佳答案

CHCP返回OEM代码页(OEMCP)。该API是Get / SetConsoleCP。

您可以将C ++语言环境设置为“ .OCP”以匹配该语言环境。

09-26 10:20