【发布时间】:2013-07-05 03:47:56
【问题描述】:
#include <iostream>
#include <clocale>
#include <string>
int main() {
std::setlocale(LC_ALL, "en_US.utf8");
std::wstring str(L"Τὴ γλῶσσα μοῦ ἔδωσαν");
std::wcout << str << std::endl;
std::wcerr << str << std::endl;
}
这不会在终端上产生任何输出。
如何让它产生 UTF-8 输出?我认为这应该是 C++ 支持的东西。
我知道我正在使用 utfcpp 库,但问题是具体是否有 stdlib 方法可以打印出 UTF8。
【问题讨论】:
-
这取决于平台。你在跑什么?
-
OS X 在这里。我马上在 Linux 上试试这个
-
在 Linux 上完美运行。添加了 osx 标签。
-
你确定终端可以显示吗?
-
阳性。我可以在 Vim 中查看包含许多很酷字形的测试文件,并通过 shell 回显它们。
标签: c++ macos unicode utf-8 io