标题:QString转TDesC乱码
作者:suntianbao
日期:2011-01-20 20:57
内容:
请教一下,我在QLineEdit中获取了文本,然后转成描述符,中文就会发生乱码,QMessageBox这里显示正常
QString searchkey = searchItem->lineEdit->text();//获取输入的数据
QMessageBox::about(NULL, QString("searchkey"), searchkey); //这里显示正常不会乱码
//把数据转成描述符
TPtrC8 ptr8(reinterpret_cast (searchkey.constData()),searchkey.size()*2);
TBuf8 buf8(ptr8);
SLog::LogInfo(_L("searchkey1"), buf8);//这里显示乱码
高手指教一下啊
#1 [梅克斯 03-11 17:10]
Q_CORE_EXPORT HBufC* qt_QString2HBufC(const QString& aString)
{
HBufC *buffer;
#ifdef QT_NO_UNICODE
TPtrC8 ptr(reinterpret_cast(aString.toLocal8Bit().constData()));
#else
TPtrC16 ptr(qt_QString2TPtrC(aString));
#endif
buffer = q_check_ptr(HBufC::New(ptr.Length()));
buffer->Des().Copy(ptr);
return buffer;
}