c++ - Windows 控制台代码页 866

标签 c++ windows boost

我正在使用最新版本的 Windows 10。当我尝试运行 boost asio 中的客户端示例代码时 并在这一行得到了预期的异常:

catch (const std::exception& e)
{

    std::cerr << e.what() << std::endl;
    return 1;
}

它在控制台上输出象形文字:

connect: ╧юфъы■ўхэшх эх єёЄрэютыхэю, Є.ъ. ъюэхўэ√щ ъюья№■ЄхЁ юЄтхЁу чряЁюё эр яюфъы■ўхэшх

我的控制台的默认代码页是 866,因为我使用的是俄语 Windows。然后我通过

将代码页更改为 1251
chcp 1251 

消息看起来不错:

connect: Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение.

我只是好奇是否有任何解决方法,无需使用 chcp 进行任何操作?

最佳答案

如果您想从 C++ 代码执行此操作,请使用 SetConsoleOutputCP为了它。

关于c++ - Windows 控制台代码页 866,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49259502/

相关文章:

c++ - boost get_untyped_deleter 错误

C++11:使用右值引用实现装饰器的最佳方式

c++ - 如何调用基于 cin c++ 的特定对象

c++ - 错误:使用 boost::serialization 与 'operator<<' 不匹配

windows - 坏扇区的 Writefile、Readfile 代码错误

c++ - 预加载音频缓冲区 - 什么是合理可靠的?

c++ - CodeLite 不适用于 boost 库

c++ - 没有这样的插槽 QLineEdit::setText

c++ - 从 CString 设置 LPSTR

c++ - VBA 64 位 Excel 不将指针传递给 DLL 函数 (C++)