gSoap что за кодировка? Как получить строку в utf8?
От: Аноним  
Дата: 13.11.09 07:13
Оценка:
Есть ws, его response:
<SOAP-ENV:Envelope>
<SOAP-ENV:Body>
<GetMessagesResponse>
<GetMessagesResult>
<Messages>
<XMLMessage MessagesKey="1071109" Sender="Pavlov" DateSend="2009-10-22T14:33:13Z">
<Subject>subject тема сообщения</Subject>
<Body>body тело сообщения</Body>
</XMLMessage>
...


Вот так получаю сообщения: // (Windows XP, VS 2005)
if (soap_call___ns1__GetMessages(&soap, NULL, NULL, &input, &output) == SOAP_OK) {
std::vector<class ns1__PairOfMessagesKeyXMLMessage * >::const_iterator it = output.GetMessagesResult->Messages->XMLMessage.begin();
while (it != output.GetMessagesResult->Messages->XMLMessage.end()) {

           char time[128];
           _ctime64_s(time, 128, (*it)->DateSend);
           time[strlen(time) - 1] = 0;
           str << (*it)->Subject.c_str() << ": " << (*it)->Body.c_str() << std::endl;
           ++it;
       }
   }
   else 
...


В str лежит следующее:
subject B5<0 A>>1I5=8O: body B5;> A>>1I5=8O

Что это за кодировка и как получить нормальную строку в utf8 или cp1251?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.