解决Qt中文乱码

本文介绍了在Windows环境下使用QCreator和Qt配合MSVC开发时,如何解决中文乱码问题,包括设置编辑器文件编码为UTF-8,添加UTF-8BOM,以及在源文件中使用预处理器指令和全局定义编码函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编程环境

Windows+QCreator+Qt+MSVC

解决方法

设置编辑器的文件编码

项目->Project Settings->编辑器->文件编码:
1.设置默认编码为:UTF-8
2.设置UTF-8 BOM为:如果编码是UTF-8则添加
请添加图片描述

每个源文件中增加设置

#if _MSC_VER >= 1600
#pragma execution_character_set("utf-8")
#endif

注意
这种设置方式在某些情况下并不能生效,会报 execution_character_set未知被忽略,可以在.pro文件后面增加如下代码解决: win32 { QMAKE_CXXFLAGS += /source-charset:utf-8 /execution-charset:utf-8 }

增加转码代码

globaldefine.h

#include <QTextCodec>

extern QTextCodec *codec;
#define TU codec->toUnicode

globaldefine.cpp

QTextCodec *codec = QTextCodec::codecForName("utf-8");

有中文的源文件添加UTF-8 BOM

选中源文件,鼠标右键,点击:Add UTF-8 BOM on Save,并保存。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值