方法一:使用QString的fromLocal8Bit()函數
- 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("安師大手動");