Bonjour,
J'ai un petit problème dont un petit module d'édition de texte que je fais.
J'ai créé un widget avec un QPlainTextEdit dedans pour modifier des fichier.
je charge les fichiers de la manière suivante :
Le problème est que lorsque je charge un fichier avec des caractères accentués (par ex:"Où est l'élève ?"), il s'affiche avec des caractère "à la con" à la place.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 _file = new QFile(fileName); if(_file) { if (!_file->open(QIODevice::ReadWrite | QIODevice::Text)) { QMessageBox::warning(this, tr("Warning"), tr("the file is not readable"), QMessageBox::Ok); } else { QString text(_file->readAll()); cout << text.toStdString(); _ui.m_textEdit->setPlainText(text); _ui.m_textEdit->moveCursor(QTextCursor::Start); } }
Mais lorsque je sauvegarde mes modifications alors qu'il y a des caractères accentués, je n'ai aucun problème (en vérifiant via un éditeur externe).
Mon code de sauvegarde
De plus en faisant un
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 _file->resize(0); //on efface le contenu du fichier avant de sauvegarder QTextStream ts( _file ); ts.setAutoDetectUnicode(true); ts << _ui.m_textEdit->toPlainText(); _file->close();
les accents apparaissent bien dans la console. Donc je suppose que le QString est bon ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part cout <<text.toStdString();
Savez-vous comment pouvoir voir mes accents correctement ?
Merci
Partager