Qt:从utf-8文本文件中读取波斯文本

时间:2017-07-20 07:41:28

标签: qt utf-8

这是我的代码:

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,但是某些字符如“ق”或“ی”会转换为“?”。为什么呢?

这是一张程序照片:http://www.upsara.com/images/2dsg_capture.png

0 个答案:

没有答案