既然要写博客了,先mark一下!每天总结下工作和学习!今天第一天!必须表示下!
QT乱码问题,困扰了我大半天时间,场景:服务端发数据下来,里面有数字、字母、中文等。工程设置了
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
收到数据类似:"text\":\"abcd\xE5\xB0\x8F\xE9\xA9\xAC\xE5\x93\xA5""1234\"
经过验证,发下来的数据时utf-8编码。不管我怎么操作,putty上均不能正常显示中文。也认为qjson没办法处理。最后解决办法是我一直用utf-8处理。
总结:
1.QString 据说是unicode编码。QByteArray 是经过编码的,
.toLatin1(); .toLocal8Bit(); .toUtf8(); 都是QByteArray 的编码方式,其中.toLocal8Bit()是根据本地的设置确定的,QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));设置了GBK,那.toLocal8Bit() 就是GBK,如果设置了UTF-8,就是UTF-8了。