【发布时间】:2010-10-14 17:22:59
【问题描述】:
我正在尝试将 xcode 中的 wstring/wchar_t 打印到控制台,但不幸的是它仅适用于基本字符(我认为是 ascii)字符,其他所有内容都以数字显示,例如:
std::cout << "äöüu"<< std::endl;
std::wcout << L"äöüu" << std::endl;
当 cout 版本按预期打印“äöüu”时,我在使用 wchar_t 时得到以下信息:
\344\366\374u
关于如何解决这个问题的任何想法?我正在使用 xcode 3.2.2 64 位和 gcc 4.2,文件编码设置为 Unicode (UTF-8)
谢谢!
【问题讨论】:
-
这可能是预期的行为,因为终端编码通常是 UTF-8 而
std::wcout处理 UTF-32。但请注意,如果您使用clang++(在 LLVM 2.8 中可用,但尚未随 Xcode 分发)进行编译,则两次都会输出正确的文本。 -
将输出重定向到文件或仅在终端上时会发生这种情况吗?
标签: c++ xcode string character-encoding