การรับส่งข้อความภาษาไทยแบบ utf8 ด้วย QDataStream ผ่านทาง QTcpSocket
กว่าจะได้มางงไป 2 คืน
เป็นเพราะไม่ได้ใส่เจ้า ".c_str()" ถ้าไม่แปลงเป็น constant string จะ compile ไม่ผ่าน
//------------ Read ----------------------
QDataStream in(client); //Tcp Socket
in.setVersion(QDataStream::Qt_4_0);
QString strData;
QString inMSG;
.
.
in >> inMSG;
strData = QString::fromUtf8(inMSG.toStdString().c_str());
//----------- Write ----------------------
QByteArray block;
QDataStream out(&block, QIODevice::WriteOnly);
out.setVersion(QDataStream::Qt_4_0);
QString MSG;
MSG = QString("ทดสอบ ภาษาไทย").toUtf8();
out << MSG;
sock->write(block); // TCP Socket
//-------------------------------------------
กัง
กว่าจะได้มางงไป 2 คืน
เป็นเพราะไม่ได้ใส่เจ้า ".c_str()" ถ้าไม่แปลงเป็น constant string จะ compile ไม่ผ่าน
//------------ Read ----------------------
QDataStream in(client); //Tcp Socket
in.setVersion(QDataStream::Qt_4_0);
QString strData;
QString inMSG;
.
.
in >> inMSG;
strData = QString::fromUtf8(inMSG.toStdString().c_str());
//----------- Write ----------------------
QByteArray block;
QDataStream out(&block, QIODevice::WriteOnly);
out.setVersion(QDataStream::Qt_4_0);
QString MSG;
MSG = QString("ทดสอบ ภาษาไทย").toUtf8();
out << MSG;
sock->write(block); // TCP Socket
//-------------------------------------------
กัง
Comments