忍受Qt的中文乱码问题很久了,整理了一下避免乱码的方法
- 很多教程里一上来可能就说设置为”utf-8”就会好,但是也会有很多副作用,比如:
1 2 3
| #pragma execution_character_set("utf-8")
QTextCodec::setCodecForLocale(QTextCodec::codecForName("utf-8"));
|
经测试正常的使用方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
qDebug() << QString::fromLocal8Bit("中文输出内容");
char* cstr = qstr.toLocal8Bit().data();
QByteArray temp = qstr.toLocal8Bit(); char *cstr = temp.data();
std::string str = std::string(qstr.toLocal8Bit().data());
|