C输出变量中的Unicode

我正在尝试输出一个包含unicode字符的字符串,这是通过curl调用接收的.因此,我正在寻找类似于文字字符串的u8和L选项,但适用于变量.例如.:

const char *s  = u8"\u0444";

但是,因为我有一个包含unicode字符的字符串,例如:

mit freundlichen Grüßen

当我想打印此字符串时:

cout << UnicodeString << endl;

它输出:

mit freundlichen Gr??en

当我使用wcout时,它会返回给我:

mit freundlichen Gren

我做错了什么,我怎样才能达到正确的输出.我用RapidJSON返回输出,返回字符串:

mit freundlichen Gr��en

需要注意的是,该应用程序是在Ubuntu上运行的CGI,它根据浏览器请求进行回复

最佳答案 在我的系统上,以下产生正确的输出.在您的系统上试一试.我相信它会产生类似的结果.

#include <string>
#include <iostream>
using namespace std;

int main()
{
    string s="mit freundlichen Grüßen";
    cout << s << endl;
    return 0;
}

如果没问题,那么这表明网络传输不是8位干净.

麦克风.

点赞