[英]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.