llwj0303的个人主页

http://www.qtcn.org/bbs/u/151773  [收藏] [复制]

llwj0303

  • 31

    关注

  • 13

    粉丝

  • 27

    访客

  • 等级:新手上路
  • 总积分:80
  • 男,2011-05-04

最后登录:2022-01-10

更多资料

日志

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("安师大手动");
分类:QT|回复:1|浏览:1231|全站可见|转载
 
 
删除

szp08152:QFile file(...);
...
QTextStream stream(&file);
stream.setCodec(QTextCodec::codecForName("gb2312"));

2015-05-25 11:20 -

Powered by phpwind v8.7 Certificate Copyright Time now is:04-25 06:34
©2005-2016 QTCN开发网 版权所有 Gzip disabled