用Qt Creator 编写GUI程序, 源代码用UTF-8编码, 如何用qDebug()输出中文? 100

QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));qDebug()<<"中文";调试时... QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
qDebug() << "中文";

调试时输出是乱码.

我试了几种方法, 好像只有打开console才正常, 但我的是GUI程序, 不能带console.
忘了说了, 我用的是mingw 4.6.1
展开
 我来答
hqw1113081144
推荐于2018-05-11
知道答主
回答量:6
采纳率:100%
帮助的人:8131
展开全部
qDebug() <<QObject::tr("好多");
这样用就可以不出乱码了。
直接写 qDebug()<<"好多";的话我也是乱码
差点忘了。我这边编码方式是"utf-8".即
QTextCodec::setCodecForLocale(QTextCodec::codecForName("utf-8"));
确切地说是工具-》选项-》文件编码里的默认编码要支持中文的。然后写成一致的就不会乱码了。请给分。谢谢
wanglei350911
2013-01-11
知道答主
回答量:60
采纳率:0%
帮助的人:19.2万
展开全部
有人知道怎么做吗,我也遇到同样的问题了,二楼的解决方法2种我都没找到在哪个地方设置的。我的GUI显示中文没有问题,但是qDebug()<<"中文显示"的时候是乱码。但是我新建了一个工程又没有问题?求解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
續寫丶那過厾
2012-10-31 · TA获得超过404个赞
知道小有建树答主
回答量:215
采纳率:50%
帮助的人:194万
展开全部
/*设置编码*/
QTextCodec::setCodecForLocale(QTextCodec::codecForName("gbk"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("gbk"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("gbk"));
你试试,是可以的!
追问
好像不行.  忘了说了, 我用的是mingw 4.6.1
追答
由于源码文件使用的是GBK编码
解决方法1:
如果不修改源码文件编码,那么在CodeBlocks内settings->Compiler and debugger,Other option指定使用中文编码(加上-finput-charset=GBK),就可以在源代码内使用中文了.

解决方法2:
Code::Blocks主菜单“设置→编辑器 ”,弹出的对话框中,左边列表选中第一项“常规设置”,右边面板中找到“打开文件时的默认编码”项,将其选项改为“UTF-8”。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式