Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C+中的Unicode+;在Mac终端中不显示_C++_Variables_Internationalization_Chinese Locale - Fatal编程技术网

C++ C+中的Unicode+;在Mac终端中不显示

C++ C+中的Unicode+;在Mac终端中不显示,c++,variables,internationalization,chinese-locale,C++,Variables,Internationalization,Chinese Locale,终端>配置文件>高级>文本编码设置为Unicode(UTF-8) Terminal>Profiles>Advanced>Set locale environment variables on startup处于选中状态 Terminal>Profiles>Advanced>Unicode东亚歧义字符是宽的被选中(我也尝试过不选中它——两者给出相同的结果) 终端配置文件中选择的字体与汉字兼容——我已经检查过了 我通过终端本身检查了locale,它给出了以下信息: LANG="en_US.UTF-8

终端>配置文件>高级>文本编码
设置为
Unicode(UTF-8)

Terminal>Profiles>Advanced>Set locale environment variables on startup
处于选中状态

Terminal>Profiles>Advanced>Unicode东亚歧义字符是宽的
被选中(我也尝试过不选中它——两者给出相同的结果)

终端配置文件中选择的字体与汉字兼容——我已经检查过了

我通过终端本身检查了
locale
,它给出了以下信息:

LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
--我不确定这是否是问题所在,因为它说的是
en_US
,但也说的是
UTF8
,这是我输入的字符的编码

为了测试所有这些,我使用了以下代码:

char dao [4] = "\u9053";
std::wcout << "Character: " << dao << std::endl;

wchar_t wdao[] = L"道";
std::wcout << "Character 2: " << wdao << std::endl;

也就是说,我无法让它与
wchar\u t
而不是
char[]
一起工作。我想这已经足够好了,因为它可以正常工作,但是,如果有人知道使用
wchar\u t
有什么问题,我希望知道这一点,以供将来参考。

没有没有谢谢,但我尝试了使用
wcout
的宽字符,但也没有效果。出于某种原因,我无法将一个汉字包含在一个宽字符中,然后通过
wcout
打印出来——这是我的初衷,因为我希望能够将汉字作为单数而不是字符数组来处理。如果你对原因有任何想法,请告诉我。使用汉字有点复杂,很难判断到底出了什么问题。谢谢,但我用
wcout
尝试了宽字符,结果也不起作用。出于某种原因,我无法将一个汉字包含在一个宽字符中,然后通过
wcout
打印出来——这是我的初衷,因为我希望能够将汉字作为单数而不是字符数组来处理。如果你对原因有任何想法,请告诉我。使用汉字有点复杂,很难判断到底出了什么问题。
char dao [4] = "道";
std::cout << "Character: " << dao << std::endl;

char dao2 [4] = "\u9053";
std::cout << "Character: " << dao2 << std::endl;
char dao [4] = "\u9053";