• 6642阅读
  • 1回复

[讨论]QString转TDesC乱码 [复制链接]

上一主题 下一主题
离线suntianbao
 
只看楼主 倒序阅读 楼主  发表于: 2011-01-20
请教一下,我在QLineEdit中获取了文本,然后转成描述符,中文就会发生乱码QMessageBox这里显示正常
QString searchkey = searchItem->lineEdit->text();//获取输入的数据
QMessageBox::about(NULL, QString("searchkey"), searchkey);   //这里显示正常不会乱码

//把数据转成描述符
TPtrC8 ptr8(reinterpret_cast<const TText8*> (searchkey.constData()),searchkey.size()*2);
TBuf8<50> buf8(ptr8);
SLog::LogInfo(_L("searchkey1"), buf8);  //这里显示乱码

高手指教一下啊
离线梅克斯
只看该作者 1楼 发表于: 2011-03-11
Q_CORE_EXPORT HBufC* qt_QString2HBufC(const QString& aString)
{
    HBufC *buffer;
#ifdef QT_NO_UNICODE
    TPtrC8 ptr(reinterpret_cast<const TUint8*>(aString.toLocal8Bit().constData()));
#else
    TPtrC16 ptr(qt_QString2TPtrC(aString));
#endif
    buffer = q_check_ptr(HBufC::New(ptr.Length()));
    buffer->Des().Copy(ptr);
    return buffer;
}
快速回复
限100 字节
 
上一个 下一个