Qt 读取txt文件乱码的解决办法

Qt 读取txt文本乱码问题

2015-05-20 15:46
方法一:使用QString的fromLocal8Bit()函数
  1. QFile txtfile(filePath);             QString tmpStr;             if(txtfile.open(QIODevice::ReadOnly))             {                 QTextCodec::setCodecForLocale(QTextCodec::codecForName("gb2312"));//中文转码声明                 while(!txtfile.atEnd())                 {                     QByteArray arr = txtfile.readAll();                     arr.replace(0x0B,0x0D);                     tmpStr = QString::fromLocal8Bit(arr, arr.length());//Window下的QByteArray转QString                 }              }            item->tableWidget()->item(row-1,column-1)->setText(tmpStr);
//use it
方法二:用QTextCodec的toUnicode方法来显示中文(在程序中试验本方法不适合)    QTextCodec *codec = QTextCodec::codecForLocale();     QString a = codec->toUnicode("安师大手动");
posted @ 2015-05-22 13:16  luxiaolai  阅读(4812)  评论(0编辑  收藏  举报