-
Accent non affiché
Bonjour à tous,
j'ai un char[1024] que je cherche a afficher dans un QMessageBox. Jusque la pas de probleme. (Ce tableau m'est fourni par une fonction externe d'une librairie)
Mais certains caractères ne passent pas. Par exemple un è se tranforme en |, et le é en espece de petite croix.
je pensais que c'était un problème d'encodage, donc j'ai essayé ca :
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
et aussi avec le latin 1, meme resultat.
Je suppose qu'il y a une options de QString pour le faire fonctionner correctement.
Pour info, le é a pour valeur -23 (233 en unsigned) et le è -24 (234 en unsigned).
j'ai essayé aussi sous visual studio 2010, le débugger maffiche bien les caracères (mais pas la console, mais ca cest normal)
Merci
-
Si ton besoin d'encoder est ponctuel tu peux directement utiliser une fonction QString::fromutf8. La fonction que tu utilises toi va changer la façon d'encoder tous les const char * dans ton programme, ton code source donc.
Je ne suis même pas sûr que la fonction que tu appelles ait un impact sur ta chaine car ce n'est pas une chaine constante.
Si jamais ça ne marche pas non plus, vérifie que ta bibliothèque t'envoie bien le texte en Utf-8 et pas autre chose.
-
En effet, j'utilisais mal QString. Une relecture de la doc Qt et ma librairie a résolu le probleme