【Qt】]Qt5中文乱码

升级到Qt5.X之后,原先解决的Qt显示中文乱码的方法突然不适用了,找了很多方式来解决这个问题

第一种:

在公司代码里看到的方法,先将对应的cpp文件用windows自带的记事本打开,另存为UTF-8格式,然后在代码中,遇到中文字符,使用QStringLiteral("中文")进行修饰

这种方式每次新建一个class就要切出去用记事本编辑一下实在麻烦,而且每个中文字符串都要用QStringLiteral来修饰,实在麻烦

后来有找到了个方法

第二种:

在头文件申明中加上

#pragma execution_character_set("utf-8")

一切OK了

2016-10-8补充

PS:方法2只是用在Qt5最初的某个版本上大概是两三年前的某个版本,当初使用是可以解决中文显示问题

最近用Qt5.6 5.7两个版本,这个方法已经不行了。各位还是继续使用方法1来显示中文字符

—————————————这是一条浪荡的分割线—————————————————

2017.3.20更新

专门找了资料,把目前测试能用的解决中文字符乱码的方法整理的一下

环境:VS2015   Qt5.7

  1. QString str1=QStringLiteral("中文字符");  
  2. QString str2=QString::fromLocal8bit("中文字符");  
  3. QString str3=QString::fromWCharArray(L"中文字符");  
  4. QString str4=u8"中文字符";    //好像这种方法只适合C++11以上版本

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏林德熙的博客

Roslyn 在项目文件使用条件判断 判断不相等判断大小判断文件存在判断多个条件使用的范围

本文是 手把手教你写 Roslyn 修改编译 的文章,在阅读本文之前,希望已经知道了大多数关于 msbuild 的知识

321
来自专栏小李刀刀的专栏

Blade 模板中有关 section 的那些事

Laravel 框架中的 Blade 模板引擎,很好用,但是在官方文档中有关 Blade 的介绍并不详细,有些东西没有写出来,而有些则是没有说清楚。比如,使用中...

3519
来自专栏安恒网络空间安全讲武堂

writeup分享 | 近期做的比较好的web

0x01猫头鹰嘤嘤嘤 http://124.128.55.5:30829/index.php 首先分析一下功能,随便上传一张jpg图片上传,跳转到 http...

3118
来自专栏刘望舒

Android网络编程(十)Retrofit2后篇[注解]

前言 在上一篇Android网络编程(九)Retrofit2前篇[基本使用]中我们了解了Retrofit的最基本的GET方式访问网络的写法以及请求参数的简单介绍...

1736
来自专栏YG小书屋

Python3编码与mysql编码介绍

2935
来自专栏我的博客

GCC简单使用说明

1.编译单个文件 hello.c代码如下 #include<stdio.h> int main() { printf(“hello world\n”);...

2837
来自专栏流媒体

gcc用法以及静态/动态链接

-E:只进行预处理,不编译 -S:只编译,不汇编 -c:只编译、汇编,不链接 -g:编译器在编译的时候产生调试信息。 -I:指定include包含文件的...

562
来自专栏区块链

GoAHEAD嵌入式WEB SERVER漏洞概览

GOAHEAD由于开源、简单、轻巧、功能强大、多平台等特点,主要运用于嵌入式设备上。考虑到如路由器等等的使用场景等加上出现的漏洞情况等等,使得其漏洞利用难度也会...

1796
来自专栏WeaponZhi

Python爬虫实践——简单爬取我的博客

学任何一门技术,如果没有实践,技术就难以真正的吸收。利用上次博客讲解的三个知识点:URL 管理器、网页下载器和网页解析器来爬取一下我的博客。 我的博客地址 ht...

3327
来自专栏流浪猫的golang

go test 使用全教程

golang 中的go test 为golang 软件包提供了一种单元测试方式,非常简单的同时也非常好用。 ok 先来看看怎么用? 1. 新建go 文件...

574

扫描关注云+社区