繁体   English   中英

在Windows命令提示符下打印libcurl响应

[英]Printing libcurl response in Windows command prompt

我试图打印出我从卷曲查询(UTF-8字符集)中得到的答案,执行查询后,我用以下代码制作了一个字符串:

size_t writeToString(char* ptr, size_t size, size_t nmemb, std::string* stringPtr) {
    stringPtr->append(ptr, nmemb*size);
    return size*nmemb;
}

当执行cout字符串的,中的Unicode字符显示为他们的代码(例如,\\ u0434)。 我尝试将命令提示符的代码页更改为65001。是否可以在Windows命令提示符下打印UTF-8 curl响应?

您是否尝试过在cout之前将其存储在std :: wstring (而不是std :: string)中?

这个问题可能会有所帮助: UTF8与STL中的宽字符转换

尝试调用SetConsoleOutputCP(65001) ,然后使用WriteConsole()WriteConsoleOutput()代替std::cout

否则,在使用std::cout之前,将UTF-8数据解码为UTF-16,然后将其转换为Ansi。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM