当前位置: 首页 > news >正文

完美解决QT+VS2013中文显示乱码

qt4和VS2008的中文支持,大家都知道的。就不说了。

qt5.2.1发布后,源码全部是UTF-8编码,但由于微软的问题,VS2010打上补丁VS2010sp1,加入#pragma execution_character_set("utf-8")可以解决中文乱码问题。

可是VS2012又忘记了支持这段代码,qt5.2还会出现乱码。

所以为了用qt5.2只好选择VS2013了

  1. 版本选择:

    1、qt-opensource-windows-x86-msvc2013_opengl-5.3.0-beta.exe

    2、Visual Studio Add-in 1.2.3 Alpha for Qt5 (supports versions 2008, 2010, 2012 and 2013, does not work with the Express edition)

    3、百度云:VS2013旗舰版,中英文版本都有。我是不熟悉VS2013,下载的是中文版。

    安装VS2013,首先要运行go.bat,让IE假装是IE10,否则你还得更新,微软的更新速度,您是知道的。

  1. 更改编码:

1、将main.cpp改成utf-8编码,方法是点击main.cpp,然后选择菜单文件->高级保存选项。【所有源码都要转换成uft-8】

2、在你的main函数里,设置如下代码,完美解决qt5的中文乱码

MSC_VER是MSVC编译器的内置宏,定义了编译器的版本。下面是一些编译器版本的_MSC_VER值

MS VC++ 10.0 _MSC_VER = 1600  【VC2010】

MS VC++ 9.0 _MSC_VER = 1500   【VC2008】

MS VC++ 8.0 _MSC_VER = 1400   【VC2005】

MS VC++ 7.1 _MSC_VER = 1310

MS VC++ 7.0 _MSC_VER = 1300

MS VC++ 6.0 _MSC_VER = 1200

MS VC++ 5.0 _MSC_VER = 1100

#include "testchinese2.h"  

#include <QtWidgets/QApplication>  

#include <QDebug>  

// 代码一定要是: UTF-8(BOM)  

//qt版本高于等于qt5,VS版本高于或等于VS2010

#if _MSC_VER >= 1600  

#pragma execution_character_set("utf-8")  

#endif  

int main(int argc, char *argv[])    

{    

    QApplication a(argc, argv);    

//qt版本低于qt5

#if QT_VERSION < QT_VERSION_CHECK(5,0,0)   

//VS版本低于VS2010 

#if defined(_MSC_VER) && (_MSC_VER < 1600)    

    QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));    

#else    

    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));    

#endif    

#endif    

    TestChinese2 w;    

    w.show();    

    qDebug() << "您好,333";    

return a.exec();    

}   


相关文章:

  • 字符串,QT字符串类,c++字符串类之间的转换
  • 文件对话框---做一个简单的文本编译器(2)
  • 文件对话框---做一个简单的文本编译器(3)
  • 缓冲文件系统和非缓冲文件系统
  • 利用线程读取文件(带有进度条)
  • 类和对象
  • 什么是内联函数
  • 构造函数
  • 析构函数
  • new和malloc
  • static和const
  • 友元函数
  • 函数模板定义
  • 类模板定义+用类模板写一个入栈出栈的程序
  • 模板的全特化与偏特化
  • 【Leetcode】101. 对称二叉树
  • 〔开发系列〕一次关于小程序开发的深度总结
  • 0基础学习移动端适配
  • 2017 年终总结 —— 在路上
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • Akka系列(七):Actor持久化之Akka persistence
  • Asm.js的简单介绍
  • IDEA常用插件整理
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • Java IO学习笔记一
  • Python 基础起步 (十) 什么叫函数?
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 技术:超级实用的电脑小技巧
  • 新书推荐|Windows黑客编程技术详解
  • 延迟脚本的方式
  • 译自由幺半群
  • 硬币翻转问题,区间操作
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • 数据可视化之下发图实践
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • ​什么是bug?bug的源头在哪里?
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (1)(1.9) MSP (version 4.2)
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (附源码)ssm高校运动会管理系统 毕业设计 020419
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (转)http协议
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .NET Micro Framework 4.2 beta 源码探析
  • .Net Remoting常用部署结构
  • .NET企业级应用架构设计系列之技术选型
  • .NET设计模式(11):组合模式(Composite Pattern)
  • .NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
  • .w文件怎么转成html文件,使用pandoc进行Word与Markdown文件转化