这是我的代码:
QByteArray a2,b2,c2,d2,e2,f2,g2,h2,i2,j2;
QString a1,b1,c1,d1,e1,f1,g1,h1,i1,j1;
QFile m("D:/t.dat");
m.open(QFile :: ReadOnly | QFile :: Text );
QTextStream ot1(&m);
ot1 >> a2 >> b2 >> c2 >> d2 >> e2 >> f2 >> g2 >> h2 >> i2 >> j2;
m.close();
QTextCodec *codec = QTextCodec::codecForName("UTF-8");
a1 = codec->toUnicode(a2);
b1 = codec->toUnicode(b2);
c1 = codec->toUnicode(c2);
d1 = codec->toUnicode(d2);
e1 = codec->toUnicode(e2);
f1 = codec->toUnicode(f2);
g1 = codec->toUnicode(g2);
h1 = codec->toUnicode(h2);
i1 = codec->toUnicode(i2);
j1 = codec->toUnicode(j2);
//set labels
ui->label_12->setText(a1);
ui->label_13->setText(b1);
ui->label_14->setText(c1);
ui->label_15->setText(d1);
ui->label_16->setText(e1);
ui->label_17->setText(f1);
ui->label_18->setText(g1);
ui->label_19->setText(h1);
ui->label_20->setText(i1);
ui->label_21->setText(j1);
在文本文件中:
1 2صادقبیکی2 5 77یزدمحمدمرد
首先,程序从t.txt读取波斯语(波斯语)文本。在中间将它们转换为QString。 此代码可以将UTF-8转换为QString,但是某些字符如“ق”或“ی”会转换为“?”。为什么呢?