[Qt] Lecture de chaîne unicode dans un fichier .txt

Fermé
une_vie_de_reve - 30 mars 2013 à 09:22
Bonjour à tous et à toutes !

Je vais essayer de vous expliquer le plus clairement possible mon problème :

Je travaille en c++ sous Qt Creator et je souhaite afficher des caractères asiatiques contenus dans un fichier .txt sous leur forme unicode (\u672c par exemple)
Lorsque j'écris dans mon programme les lignes de code suivantes le caractère s'affiche correctement :

QString text="\u672c" ;

QPushButton bouton ;
bouton.setText(QString::fromUtf8(text.toAscii().constData())) ;
bouton.show() ;

Par contre lorsque j'enregistre la chaine via un flux comme dans le code ci-dessous c'est la chaine unicode qui s'affiche dans le bouton :

QFile fic("fichier.txt") ;
fic.open(QIODevice::ReadOnly | QIODevice::Text) ;
QTextStream flux(&fic) ;

QString text=flux.readLine() ;

QPushButton bouton ;
bouton.setText(QString::fromUtf8(text.toAscii().constData())) ;
bouton.show() ;

fic.close() ;

Apparement le problème viendrait du fait que flux.readLine() renvoie une QString et converti les caactères un à un. J'ai longtemps cherché dans la doc et sur les forums mais tous les codes que j'ai essayé ont donné le même résultat :'(


Pitié help meeeeee ! ! ! ! ! ! Je vous en serez infiniement reconnaissante :$

Merci d'avance !