Windows控制台代码页866

时间:2018-03-13 15:04:37

标签: c++ windows boost

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

catch (const std::exception& e)
{

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

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

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

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

将代码页更改为1251
chcp 1251 

消息看起来很好:

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

我只是好奇有没有任何解决方法,没有任何chcp操作?

1 个答案:

答案 0 :(得分:2)

如果您想从C ++代码中执行此操作,请使用SetConsoleOutputCP