Bonjour,

J'utilise une QTcpSocket pour interroger un serveur de messagerie.
Ce dernier m'envoie une réponse sur ma socket et lui indique l'auteur du mail.
Cette réponse est stockée dans un QByteArray comme suit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
// socket_r : ma socket qui transporte le message
// data : mon QByteArray qui stocke l'auteur du mail
 
socket_r->readLine(data.data(), data.size());
Jusque là, ca fonctionne.
J'affiche alors l'auter du message dans la console :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
std::cout << "Réponse du serveur : \t" << data.constData() << std::endl;
Ce qui me produit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
=?iso-8859-1?Q?R=E9gis?= <reg@reg.fr>
Mon problème se situe donc au niveau de l'encodage, et je ne parviens pas à le résoudre (C'est un problème récurrent dans mes projets ).
J'obtiens "R=E9gis" au lieu de "Régis", dans le cas présent...

J'ai essayé de travailler sur cet encodage en utilisant le passage au Latin1, mais sans succès :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
std::cout << "Réponse du serveur : \t" << QString::fromLatin1(data.constData()).toStdString() << std::endl;
J'avoue que je ne sais pas trop comment gérer le chose.
Auriez-vous une idée ?

Merci