qDebug() 输出 QString 中文显示乱码 10

QStringstr=QString::fromWCharArray(iter->szExeFile);qDebug()<<"YQ"<<str;下面是DbgView得到的... QString str = QString::fromWCharArray(iter->szExeFile);
qDebug() << "YQ" << str;

下面是DbgView得到的信息 请问怎么解决呢?
[23304] YQ "\u8F6F\u76D2\u5B50.exe"
展开
 我来答
明尘1991
2016-01-08
知道答主
回答量:2
采纳率:0%
帮助的人:2208
展开全部
这个问题比较头疼呀。我也遇到过,我自己试验了下,总结出来点东西。

首先"QString::fromWCharArray"表示数据来源是wchar_t*,
其次qDebug()只能输出char*,
因此需要QString中的数据转换为char*再输出。
方法:
使用QString的toStdWString()方法转换为wchar_t*,然后在使用API-WideCharToMultiByte函数将wchar_t*转换为char*,输出即可。
其实要是输出wchar_t*的调试信息最好用API-OutputDebugStringW函数
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式