【发布时间】:2021-08-19 14:41:15
【问题描述】:
我使用 Visual Studio 2019 创建了 C++ 项目,该项目可打印俄语和亚美尼亚语字符。但在命令行打印 ?
Source.cpp
#include <iostream>
using namespace std;
int main() {
setlocale(LC_ALL, "ru");
cout << "\u053e абв";
return 0;
}
输出
? ???
也在编辑器中
当我使用 UTF-8 时,它会输出这个
╨░╨▒╨▓
当我添加显示 的代码页 20861 时? 6次
【问题讨论】:
-
即使您设置了程序的语言环境,您的 C++ 编译器仍在生成(可能)UTF-8 序列。您的终端控制台也可能使用不同的代码页(可能是 UTF-8)。你的编辑简直一头雾水。 i18n 很难。
-
使用 std::wcout
-
尝试在开头添加
SetConsoleOutputCP(1251); SetConsoleCP(1251); -
它给出了 11 个错误
-
源代码必须与您设置的代码页中的代码页相同。但是不要再这样做了,只需use UTF-8 instead
标签: c++ visual-studio visual-c++ visual-studio-2019