Dealing with character encoding - convert UTF8 to cp1252 ?
-
Hello,
I am working on a software for controlling EPL 330 LED bars
Everything seems to work : i can send command over TCP and have sentences displayed.
The problem comes when i want to display characters with accents. I imagine character encoding can be the issue but i am not sure.
In the EPL330 documentation, character encoding is CP437 or CP1252 (windows encoding). I think i need to use this one.
How can i be sure that what i am sending respects this character encoding ?
I am using TCPSocket::write() so i am send QByteArrays.For instance :
- when i send "A\r\n" this displays "A" on the LED bar.
- when i send "{A}\r\n" this displays "a" on the LED bar.
- when i send "é\r\n" nothing happens...
here is the code i use to create my text :
@
QByteArray text = "é\r\n";
ledClient->sendText(text);
@here is the one that sends the message over TCP :
@
bool TCPClient::sendText(QByteArray command)
{
if (socket->state() != QAbstractSocket::ConnectedState)
{
qWarning() << "Couldn't send command : not connected !";
return false;
}
if(socket->write(command))
{
if(socket->waitForBytesWritten(2000) && socket->waitForReadyRead((2000)))
{
socket->readAll();
}
}
timer->start(timeout);
return true;
}
@Do you think this is a character encoding issue ? if yes, how can i fix it ?
otherwise, what am i doing wrong ?
thank you so much