查看完整版本: [-- Qt5 qDebug调试时乱码 --]

QTCN开发网 -> Qt中文处理 -> Qt5 qDebug调试时乱码 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

yuyu414 2015-11-18 11:29

Qt5 qDebug调试时乱码

[attachment=14527]


Qt5.5.1  qDebug输出中文,运行时没问题,但是调试模式就会乱码,看图,不知道有没有人遇到,怎么解决,谢谢各位了,还有5.4,4.7,4.6版本都试过了,同样的问题

morg 2015-11-18 13:13
需要toStdString().c_str().

如:        qDebug()    << QString("中文显示").toStdString().c_str() << endl ;

morg 2015-11-18 13:13
需要toStdString().c_str().

如:        qDebug()    << QString("中文显示").toStdString().c_str() << endl ;

yuyu414 2015-11-18 15:25
morg:需要toStdString().c_str().
如:        qDebug()    << QString("中文显示").toStdString().c_str() << endl ; (2015-11-18 13:13) 

这样的话其实就是 qDebug()  << "中文显示";   还是不行

jxgyzhang 2015-11-18 16:13
QStringLiteral("中文");
如果是使用VS编译器可以加个定义

#pragma execution_character_set("utf-8")

yanwuyue 2015-11-19 08:22
http://www.qtcn.org/bbs/apps.php?q=diary&a=detail&did=2053

lzh280 2015-11-19 08:37
Qt 5.1.1 与 Qt5.5.0 输出结果不一样,是否两个版本中 QString 编码处理方式不一样?

//5.1.1
qDebug() << QString("你好!");     //输出:"你好!"
qDebug() << QString("你好!").toStdString().c_str();   //输出:你好!

//5.5.0
qDebug() << QString("你好!");     //输出:"\u4F60\u597D\uFF01"
qDebug() << QString("你好!").toStdString().c_str();   //输出:你好!


yuyu414 2015-11-19 15:07
lzh280:Qt 5.1.1 与 Qt5.5.0 输出结果不一样,是否两个版本中 QString 编码处理方式不一样?
//5.1.1
qDebug() << QString("你好!");     //输出:"你好!"
qDebug() << QString("你好!").toStdString().c_str();  .. (2015-11-19 08:37) 

5.5.0对qDebug有做修改,被强烈反应后再5.5.1又改回来了

yuyu414 2015-11-19 15:07
jxgyzhang:QStringLiteral("中文");
如果是使用VS编译器可以加个定义
#pragma execution_character_set("utf-8")
 (2015-11-18 16:13) 

用的mingw

yuyu414 2015-11-19 15:08
yanwuyue:http://www.qtcn.org/bbs/apps.php?q=diary&a=detail&did=2053 (2015-11-19 08:22) 

用的是mingw,不知道为什么这么多人用vs,不考虑跨平台吗,vs那么笨重,QtCreator挺好用

lzh280 2015-11-19 21:43
yuyu414:5.5.0对qDebug有做修改,被强烈反应后再5.5.1又改回来了 (2015-11-19 15:07) 

很少使用调试模式,也没留意 qDebug() 中文输出。
试了下,Qt5.5.1 下正常运行qDebug() << QString("你好!"); 输出正常。
但进入调试模式后,输出乱码。

yuyu414 2015-11-25 08:58
lzh280:很少使用调试模式,也没留意 qDebug() 中文输出。
试了下,Qt5.5.1 下正常运行qDebug() << QString("你好!"); 输出正常。
但进入调试模式后,输出乱码。 (2015-11-19 21:43) 

对的  我也是这么个情况 问题是我换了4.8.6也是这个情况  只有5.3.2不会有问题

lzh280 2015-11-27 10:29
是否跟调试器 gdb 编码有关呢?


查看完整版本: [-- Qt5 qDebug调试时乱码 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled