gSOAP使用UTF8方式传送以防止乱码。

来源:互联网 发布:sqlserver定义变量 编辑:程序博客网 时间:2024/05/16 18:21
由于参数及回传的数据都是中文,所有让gSOAP使用UTF8方式传送以防止乱码。 

#include <iostream> 
#include <string> 
#include "soapServiceSoapProxy.h" 
#include& nbsp;"ServiceSoap.nsmap" //表忘了名空间定义 

using namespace std; 

// 宽 字符转UTF8 
string EncodeUtf8(wstring in) 

     string s(in.length()*3+1,' '); 
    size_t len = ::WideCharToMultiByte(CP_UTF8, 0, 
             in.c_str(), in.length(), 
             &s[0], s.length(), 
             NULL, NULL); 
     s.resize(len); 
    return s; 


// UTF8 转宽字符 
wstring DecodeUtf8(string in) 

     wstring s(in.length(), _T(' ')); 
    size_t len = ::MultiByteToWideChar(CP_UTF8, 0, 
             in.c_str(), in.length(), 
             &s[0], s.length()); 
     s.resize(len); 
    return s;