Dzień dobry,
Mam problem z poprawnym odbiorem przez klienta danych przesyłanych przez serwer.
Problem dotyczy sytuacji kiedy w przesyłanym tekście pojawiają się polskie znaki.
Serwer C++
...
msg = accounts->getAccountsId() + ";" + accounts->getName() ; //
int bytes = send(socket, msg.c_str(), msg.length(),0); // wyslanie danych
...
Metoda accounts->getName() zwraca imię użytkownika pobrane z bazy danych.
Klient Qt 4.8
QString response;
if(server->recv(response))
{
qDebug() << response;
Wynikiem qDebug() jest
"11;MaÅgorzata"
Przed wysłaniem po stronie serwera na konsoli komunikat wyświetla się poprawnie
Nie mogę sobie poradzić z kodowaniem tego komunikatu po stronie klienta, niepoprawne polskie znaki
Proszę o pomoc, jakąś podpowiedź. jak rozwiązać ten problem.
Edit:
Zapomniałem umieścić kodu fukncji recv()
if(socket.state() == QAbstractSocket::ConnectedState)
{
socket.flush();
if(socket.waitForReadyRead(config.getSocketReadTimeout()))
{
packet = socket.readLine();
return true;
} else return false;
}