ATL开发的一个WebService:
STDMETHODIMP CDataOpt::GetRS(BSTR *buf)
{
    *buf = ::SysAllocString(L"中国");
    return S_OK;
}WebService采用UTF-8编码.客户端接收后显示的是乱码,怎么解决呀?

解决方案 »

  1.   

    我用的是VC+gSoap开发客户端,设置了的:soap->SetMode(中文);
    起作用的,但   是另一种乱码.急呀.
      

  2.   


    WCHAR *pwszTemp = L"中文"; INT nLen = WideCharToMultiByte(CP_UTF8, 0, pwszTemp, -1, NULL, 0, NULL, NULL);
            CHAR *pszUTF8 = new CHAR[nLen+1]; WideCharToMultiByte(CP_UTF8, 0, pwszTemp, -1, pszUTF8 , nLen, NULL, NULL);
    }
      

  3.   

    gSoap貌似只支持Ansi和UTF-8格式吧。