当前位置:编程学习 > wap >>

Qt 5.0.2 for Windows 32-bit (VS 2010, 485 MB) (Info)中文输出乱码,万分紧急!!!

我在VS2010上写了一个C++的小程序,但是我现在想做一个图形界面,于是为了兼容VS2010里面的vector和map容器,我选择了Qt 5.0.2 for Windows 32-bit (VS 2010, 485 MB) (Info)

问题是我在Qt 5.0.2 for Windows 32-bit (VS 2010, 485 MB) (Info)中设计界面时,比如ui->label->setText("请输入0-100之间的数字"); 就没法输出我想要的结果,输出的是

完全就是有些中文无法正常输出,偶尔能输出也是乱码

QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
   QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312"));根本没法用,因为Qt 5.0.2 for Windows 32-bit (VS 2010, 485 MB) (Info)的 QTextCodec只有setCodecForLocale函数,没有setCodecForCStrings,也没有setCodecForTr

希望各位大神告诉我怎样在Qt 5.0.2 for Windows 32-bit (VS 2010, 485 MB) (Info)正确的输出中文

或者告诉我一个兼容VS2010的QT版本,要兼容C++里的map,vector容器,因为我已经封装好了,不想重新写,谢谢各位!

Qt Visual Studio 2010 中文乱码 --------------------编程问答-------------------- 源码格式转为utf8带bom的 --------------------编程问答-------------------- 我的Q是32706965,加了告诉我可以吗?谢谢,我很着急 --------------------编程问答--------------------
引用 2 楼 fengbowei008 的回复:
我的Q是32706965,加了告诉我可以吗?谢谢,我很着急

公司不能上QQ,你用notepad++转一下
--------------------编程问答-------------------- 和上面那张图提示的错误一样,还是不行,除非输出英文 --------------------编程问答-------------------- 分别不同的设置label,看看这个图的效果



--------------------编程问答-------------------- 大神们来看看啊,好着急啊

--------------------编程问答--------------------
引用 6 楼 fengbowei008 的回复:
大神们来看看啊,好着急啊


你用的IDE是VS还是Creator --------------------编程问答--------------------




--------------------编程问答-------------------- 大部分程序在VS2010里面写的
现在全部移植到了QT里面,准备做个界面,程序没有问题

在Creator里面中文字显示一点都不稳定 --------------------编程问答--------------------
这下不能显示了,提示错误


再来一组,把逗号从中文模式改为英文中的逗号,又可以输出了,但是。。

--------------------编程问答--------------------
在你的源代码文件里,点右键,然后选上这个,再随便修改些什么,然后保存一下那个文件,再重新编译一下看看 --------------------编程问答--------------------
引用 9 楼 fengbowei008 的回复:
大部分程序在VS2010里面写的
现在全部移植到了QT里面,准备做个界面,程序没有问题

在Creator里面中文字显示一点都不稳定

IDE是creator,编译器是MSVC的话,会出现你这种情况,因为源码格式creator默认是utf8不带bom的
编译器换成mingw就不会出现这种问题
所以你要么把源码改成utf8带bom的,然后重新输入下中文,重新编译一下
要么用mingw,不用msvc的编译器 --------------------编程问答-------------------- 你试试这样:


QString str;
str = str.fromLocal8Bit("中文ada123143--==中文");
ui->out_label1->setText(str);
--------------------编程问答-------------------- http://blog.csdn.net/aqtata/article/details/9184741 --------------------编程问答-------------------- 请看我的帖子http://bbs.csdn.net/topics/390389194 --------------------编程问答--------------------
引用 13 楼 yjccao123 的回复:
你试试这样:


QString str;
str = str.fromLocal8Bit("中文ada123143--==中文");
ui->out_label1->setText(str);

你的方法确实有用,可是我有一次不小心执行了一次qmake,然后我把所有工程重建,然后复制
然后用你这个方法又乱码了,真的,不知道怎么搞的 --------------------编程问答--------------------
引用 13 楼 yjccao123 的回复:
你试试这样:


QString str;
str = str.fromLocal8Bit("中文ada123143--==中文");
ui->out_label1->setText(str);

麻烦你有时间来教教我吧,他们的方法都不行
开始你的方法是奏效的,你这个方法是可行的,可是我qmake一次,全部项目重建然后复制,同样的代码,中文又乱码了 --------------------编程问答--------------------
引用 13 楼 yjccao123 的回复:
你试试这样:


QString str;
str = str.fromLocal8Bit("中文ada123143--==中文");
ui->out_label1->setText(str);

我的QQ是32706965,你教教我咯 --------------------编程问答-------------------- 使用 qt-windows-opensource-5.1.0-mingw48_opengl-x86-offline
无问题飘过

--------------------编程问答--------------------
引用 11 楼 raining_0104 的回复:

在你的源代码文件里,点右键,然后选上这个,再随便修改些什么,然后保存一下那个文件,再重新编译一下看看

遇到同样的问题。初步验证,可行。
补充:移动开发 ,  Qt
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,