我有一个正在使用的特定库(IBM的WebSphere MQ),带有一个假定返回远程服务器字符集的API。
经过一些调试后,此函数调用的返回值似乎返回了我机器的活动代码页。我通过查看函数调用的返回值以及在命令行中运行chcp
的结果看到了这一点-两者均返回862。当我在“控制面板”->“区域和语言选项”->“高级”选项卡中将语言更改为还有一些事情,两个价值观又一次改变了,这证实了我的怀疑。
我的问题是,chcp
返回的值是什么?什么Win32 API可以获取/设置它?它与语言环境有何关系? (试图使用std::locale::global
更改C ++应用程序中的全局语言环境显然对其没有影响)。
最佳答案
CHCP返回OEM代码页(OEMCP)。该API是Get / SetConsoleCP。
您可以将C ++语言环境设置为“ .OCP”以匹配该语言环境。