问题描述
我们在使用C或C++打印一些unicode字符时可能在终端显示乱码,本文将提供一种解决方案。
代码示例
以emoji中的😊和❤字符为例,在直接运行以下代码时,我们得到的输出可能是一串乱码。
#include <iostream>
int main() {
std::cout << "\u263A " << "\u2764" << std::endl;
return 0;
}
解决方案
要解决该问题,我们要配置好UTF-8的环境。主要有系统,IDE两方面。
系统
控制面板>区域>管理>更改系统区域设置>Beta版
IDE
以codeblocks为例,将UTF-8作为首选编码即可。
settings>Editor...>Encoding settings>UTF-8
完成以上设置后,就能正常输出unicode字符。