MFC从服务器接受数据乱码

不管是中文还是英文都是乱码,用了各种转字符集的方法都没用

服务器跟客户端是同类型操作系统吗,不同操作系统之间的存在大小端的问题,比如说,int类型的数据,有的系统下高位字节在前,有的系统低位在前,这样就容易导致乱码,需要在传输之前先按照规定好的规则进行编码,然后再传输,接收端根据规则解码,得到实际的数据

void sendPost::SendPost(CString& strRequest, CString &str, CString request)//request为请求地址,strRequest为请求参数
{
    CInternetSession m_InetSession;
    CHttpConnection* pServer = NULL;
    CHttpConnection* pConnection;
    CString http = _T("");
    CHttpFile* pFile = NULL;
    CString temp = _T("");
    USES_CONVERSION;
    char* c = UnicodeToUtf8(W2A(strRequest));//转换为UTF_8格式,服务器输出没问题
        try {
        INTERNET_PORT nPort; //端口
        nPort = 8080;
        pConnection = m_InetSession.GetHttpConnection(_T("localhost"), nPort);
        pFile = pConnection->OpenRequest(CHttpConnection::HTTP_VERB_POST, request);
        pFile->AddRequestHeaders(_T("Content-Type: application/x-www-form-urlencoded"));//设置表头
        pFile->AddRequestHeaders(_T("Accept-Language: zh-cn"));
        pFile->SendRequest(NULL, 0, (LPVOID)c, strlen(c));//发送请求参数
        DWORD dwRet;
        pFile->QueryInfoStatusCode(dwRet);
        if (dwRet == HTTP_STATUS_OK) {
            while (pFile->ReadString(temp))
            {
                http += str;//接收数据
            }
        }

        str = http;//乱码
        delete pFile;
        delete pServer;
    }