欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

qt5 乱码解决办法

更新时间: 2014-01-05 02:44:40 责任编辑: Author_N1

 

Qt5 乱码解决方法
小弟刚用QT不久,最近做个项目用的是Qt5 + VS2010 + Qt Creator + WinDbg
编译出来老出现中文乱码,在网上搜索没有找到解决方法,现在不只是静态字符串造成这样的情况还有一个问题就是,我选择文件路径(包含中文)显示在label控件中,然后通过text()函数获取保存在QString中但是调用QString的成员函数toStdString转为STL的string时出现乱码。
网上方法大概就是:
1.用tr然后翻译,但是不能解决我上面说的那个问题。
2.保存为utf8不带BOM格式的文件,我试过了,还是不行,是不是我采用的vs2010编译器的原因。难道只能采用mingw
3.QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF8"));这个方法也无效
特别郁闷的时Qt那么多人用,竟然没有完美的乱码解决方法, 如果是MFC早就有一大堆解决方案了。请求各位大侠支招。
--参考方法--
http://bbs.csdn.net/topics/390492098
--参考方法--
保存为utf8带bom的
--参考方法--
其实还是你的中文编码保持一致的问题,这里的一致包含很多地方:你的运行环境编码,你的源代码文本编码(这个尤其要当心),Qt5里边确实没有了4.8的那些你很熟悉的编码类及功能,但是同样Qt5有他的一套方式。最简便的办法是在需要统一编码的是后都toUnicode活着fromUnicode
--参考方法--
可以不在源码里面写非英文吗?
--参考方法--
保存为utf8带bom,然后字符串用QStringLiteral();如QStringLiteral("中文字符串")
--参考方法--
有的时候我用UTF8还是乱码,用GBK就好了
--参考方法--
用 utf8编码、mingw 编译 好像没问题的
--参考方法--
引用:
可以不在源码里面写非英文吗?

+1
这个是解决这个问题的标准办法。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:44:40
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/13893/
本文WWW.DOC100.NET DOC100.NET版权所有。