J'ai un problème avec Unicode. Les lettres allemandes ä
, ü
, ö
et ß
ne sont visibles que comme un point d'interrogation blanc dans un losange noir. J'ai fait un QAbstractTableModel
dans Qt5.5.1.QAbstractTableModel et Unicode (trémas allemands)
Mon document est codé en UTF-8. J'ai déjà essayé, mais j'ai toujours le même problème.
QVariant bodyPartModel::data(const QModelIndex &index, int role) const
{
switch (role){
case Qt::DisplayRole:
if (col == 0 && row == 0) return tr("ü");
if (col == 0 && row == 2) return String::fromUtf8("ä");
//
}
Quelqu'un sait-il comment afficher ces caractères correctement?
edit .: Oui j'ai besoin d'une chaîne, je viens d'utiliser un caractère dans cet exemple.
Et Merci à Adriano Repetti, ce fut la solution:
QString::fromWCharArray(L"Steißbein")
Avez-vous besoin de montrer un personnage unique? – vahancho
Ce n'est pas une chaîne UTF-8, la méthode facile est 'return QString :: fromWCharArray (L" ä ")'. Vous pouvez _may_ utiliser un seul 'QChar' si vous avez vraiment un seul caractère (et vous n'aurez pas besoin de manipuler e + 'truc) mais je préfère la forme générale. –