看下面一段代码:
1 |
std::cout << "你好!" << std::endl; |
在MacOS和Linux版本的CLion下都能正常显示中文,到了Windows + VC编译器环境下,却显示乱码,尝试了几乎所有网上提到的方法,都没能解决。
使用wcout也不能正常显示,最后使用下面代码成功显示中文:
1 2 3 |
locale::global(locale("en_US.UTF-8")); wcout.imbue(locale("en_US.UTF-8")); std::cout << "你好!" << std::endl; |
话说windows内部处理unicode的机制太个性了。