用的包是:
Tim Cooper的
http://sourceforge.net/projects/xmlrpcc4win/
在处理中文时有些问题,比如我的应用中,server端需要接受UTF8格式的中文。
但是这个包会把已经转化了UTF8的字符,再次进行打包处理,所以会导致乱码。
搞定方法很简单:
在
TimXmlRpc.cpp中找到 如下函数:
static std::string xmlEncode(const char* s)
注释掉以下两行:
else if (*s < ' ' || *s >= 127)
ostr << "&#" << int((unsigned char)*s) << ';';
搞定!
另外,记录一下,在VS2010等编译器中,需要提前把
wininet.lib 这个包加到:项目->属性->配置属性->链接器->输入->附加依赖项