QT 5.3.2 + VC2012 中文乱码 完美解决方案
来源:互联网 发布:俄罗斯高加索知乎 编辑:程序博客网 时间:2024/06/04 23:18
本人原创,转载请注明,谢谢!
业余时间开始使用QT,发现用VC开发存在中文乱码问题,网上查阅了一圈后,发现解决方式都不怎么完美,要设定QTextCodec::setCodecForxxx,输出中文还要调用QString::fromLocal8Bit(“”)等等。这样的方式我是不愿意接受的,折腾了1小时后完美解决,方案和步骤如下:
1、修改新建C++和Header文件对应模版文件的默认编码 为 utf-8 with signature
VC2012 文件路径:
X:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcprojectitems\newc++file.cpp
X:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcprojectitems\hfile.h
其他版本的vc未测试,理论上应该都是差不多位置。
2、VC新建QT项目,需要修改项目字符集
位置:VS菜单->Project->Properties->Configuration Properties->General->Character Set
设为:Use Unicode Character Set
3、修改当前QT项目中用到中文输出的cpp文件单独保存一次编码
步骤1:打开要修改编码的cpp文件
步骤2:vs菜单->File->Advanced Save Options ,Encoding 设为 Unicode(UTF-8 without signature)-Codepage 65001
(所有QT项目中用到中文输出的文件都需要执行一次本操作)
4、让vs在某些情况下默认将文档保存为UTF-8【这一步并非必须】
vs菜单->Tool->Options->Enviroment->Documents
选中 【Save documents as Unicode when data cannot be saved in codepage】
5、调用QString的方式
如:QMessageBox mess(QMessageBox::Question, QStringLiteral("删除提示", "确认删除所选组件???"), NULL);
注意这个宏 QStringLiteral(),需要#include <QTextCodec>
至此,用QT+VC开发再无中文编码问题(但不能算十全十美,因为使用单字节字符串还是有问题,不然就只能升级到vs2013了)。
- QT 5.3.2 + VC2012 中文乱码 完美解决方案
- jQuery中文乱码完美解决方案
- struts2中文乱码完美解决方案
- jQuery中文乱码完美解决方案
- Matplot中文乱码完美解决方案
- 完美的中文乱码解决方案
- C#下xmlhttp 中文乱码完美解决方案
- Mysql中文乱码问题完美解决方案
- php JpGraph中文乱码完美解决方案
- Mysql 中文乱码 问题 完美 解决方案 详解!
- jsp中文乱码完美解决方案(原创)
- Mysql中文乱码问题完美解决方案
- Mysql中文乱码问题完美解决方案
- Mysql中文乱码问题完美解决方案
- Mysql中文乱码问题完美解决方案
- Mysql中文乱码问题完美解决方案
- Mysql中文乱码问题完美解决方案
- Mysql中文乱码问题完美解决方案
- JavaWeb:报错信息The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
- 在Myeclipse buildpath 加server lib (server runtime)
- 转载 X264代码解析
- 配置Hadoop单机模式并运行Wordcount
- linux configure参数
- QT 5.3.2 + VC2012 中文乱码 完美解决方案
- 思想+行动= 创造力
- 第十三周项目四 数组的排序(选择排序按降序排列)
- 幻方
- kinect for windows 2.0+opencv
- Socket编程指南及示例程序
- HDU2050 折线分割平面 动态规划
- OpenGL中的光照与材料
- hacker开源软件