用C ++打印汉字

时间:2017-09-12 18:38:07

标签: c++ utf

我一直试图用C ++打印中文字符。我已经在互联网上搜索过,有些人说你必须使用wcout,其他人则建议使用其他方法。我也偶然发现this post,有人使用了一段代码:

#include <iostream>
int main()
{
char x[] = "中";
char y[] = u8"中";
wchar_t z = L'中';
char16_t b = u'\u4e2d';
char32_t a = U'\U00004e2d';

std::cout << x << '\n';
std::cout << y << '\n';
std::wcout << z << '\n';
std::cout << a << '\n';
std::cout << b << '\n';    
}

,在显示C ++代码输出的互联网网站上,打印:

中
中
-
20013
20013

然而,对我来说它只是打印

õ©¡
õ©¡
20013
20013

我正在使用JetBrains CLion,编码设置为UTF-8。但是,我也尝试过Visual Studio和QT Creator,得到了相同的结果。我希望有人可以帮助我。

1 个答案:

答案 0 :(得分:0)

如果您使用的是OSX终端,也许可以查看编码。

终端 - &gt;偏好 - &gt;编码选项卡

然后检查是否选中繁体中文 Unicode(UTF-8)

对于Windows,您可以尝试此操作,以更改为UTF-8编码。

转到开始,然后运行“regedit” - &gt;导航到 [HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Command Processor \ Autorun] - &gt;将值修改为“ chcp 65001

希望这有帮助。