当前位置: 技术问答>linux和unix
QT编程中的中文输出问题。
来源: 互联网 发布时间:2016-01-11
本文导语: 中文相关问题 一个类中为了显示中文写入了: QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK")); QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK")); 而后,在向文件里写数据时: QString StrTemp; StrTemp = EdtTemp -> text(); QDataStream...
中文相关问题
一个类中为了显示中文写入了:
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
而后,在向文件里写数据时:
QString StrTemp;
StrTemp = EdtTemp -> text();
QDataStream Ds(file);
Ds.writeRawData((char*)StrTmp.data(),100);
总是出现乱码.....应该如何才能改过来?
一个类中为了显示中文写入了:
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
而后,在向文件里写数据时:
QString StrTemp;
StrTemp = EdtTemp -> text();
QDataStream Ds(file);
Ds.writeRawData((char*)StrTmp.data(),100);
总是出现乱码.....应该如何才能改过来?
|
char pcText[200];
strcpy(pcText, QTextCodec::codecForName("GBK")->fromUnicode(StrTemp)
Ds.writeRawData(pcText,100);
strcpy(pcText, QTextCodec::codecForName("GBK")->fromUnicode(StrTemp)
Ds.writeRawData(pcText,100);
|
记得是使用 unicode 编程