1
我有一个Unicode问题。德国字母ä
,ü
,ö
和ß
仅在黑色菱形中显示为白色问号。我在Qt5.5.1中创建了一个QAbstractTableModel
。QAbstractTableModel和Unicode(德语变音符号)
我的文档是UTF-8编码的。我已经尝试过了,但我仍然遇到同样的问题。
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("ä");
//
}
有没有人有关于如何正确显示这些字符的线索?
编辑:是的,我需要一个字符串,我只是在这个例子中使用了一个字符。
并感谢阿德里亚诺Repetti,这是解决方案:
QString::fromWCharArray(L"Steißbein")
你需要出示单个字符? – vahancho
它不是一个UTF-8字符串,简单的方法是返回QString :: fromWCharArray(L“ä”)'。如果你真的有一个字符(你不需要处理e +的东西),你可以使用'QChar',但我更喜欢一般形式。 –