ZT:Qt中解決亂碼的方法

在程序main.cpp中加入以下代碼


#include <QTextCodec>

int main(int argc, char **argv)
{
    QTextCodec *codec = QTextCodec::codecForName("GB2312");
    QTextCodec::setCodecForLocale(codec);

    QTextCodec::setCodecForCStrings(codec);

    QTextCodec::setCodecForTr(codec);
}
這樣在程序其他地方就可以使用中文了, tr(“中文”) 或者直接使用“中文了;


解決讀取ini文件中中文亂碼

QSettings settings("xxxx.ini",QSettings::IniFormat);

settings.setIniCodec(QTextCodec::codecForName("GB2312"));   //在此添加設置,即可讀寫ini文件中的中文

settings.beginGroup("company");

解決讀取中文文件中文的亂碼
QFile file("xxxx.txt");
QTextStream stream(file,QIODevice::ReadOnly);
stream.setCodeC( QTextCodec::codecForName("GB2312") );
stream.readAll();

文章出處:DIY部落(http://www.diybl.com/course/3_program/c++/cppjs/20090403/163794.html)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章