【QT神奇Bug】中文乱码、括号乱码、冒号乱码【2023.03.22】
创始人
2025-06-01 06:42:18
0

😍Qt乱码疑难杂症解决方案

Solved by Yang Naifen.

📺视频讲解地址:【Qt疑难杂症之乱码-哔哩哔哩】 https://b23.tv/83MmXru

附言:解决这个bug按照我当前的薪资,至少四百RMB。都是工农阶级的工友,有bug一起解

决,大家都少掉头发😃。如果帮到未来年薪百万的大佬,多给小弟个👍。


一、Know Why

1.大端、小端

大小端指的是数据在内存中存放的顺序。数据高低位与地址增长一致的叫小端,与地址增长相反的叫大端。通过下面的表格搞清楚内存地址高低指的是地址值的大小。整数字节序指的进制位的高低。记个绕口令:顺为小端,逆为大端。

2. BOM(Byte Order Mark)

当我们传输数据时,比如说网络传输,发送端和接收端都要指定”整齐划一“传输与解析标准。BOM的作用就在于此。通过该标记位可以确定文件中数据是大端还是小端加载到内存中。但是UTF-8文件是不需要BOM来表明字节顺序,但可以用BOM来表明编码方式。EF BB BF开头的文件头可以明确指示该文件是UTF-8编码。下面的代码用于验证BOM前缀。

// 注意工程代码目录下存放有utf-8 BOM编码的文件main.file,用记事本新建一个即可
//
#include "stdafx.h"
#include 
#include 
#include 
#include typedef struct _Data
{char arr[20];int nvar;
} Data;#define CHAR_SIZE 1280
int _tmain(int argc, _TCHAR* argv[])
{using namespace std;FILE *fp;if ((fp = fopen("main.file", "rb+")) != NULL)//"a"文本文件追加的方式写入  "w" 重新写{fseek(fp, 0, SEEK_END);long ret = ftell(fp);fseek(fp, 0, SEEK_SET);char ch[CHAR_SIZE] = { 0 };ret = fread(ch, 128, 1, fp);printf("%x", (unsigned char)ch[0]);printf("%x", (unsigned char)ch[1]);printf("%x", (unsigned char)ch[2]);printf("\n");for (int i = 3; i < CHAR_SIZE; i++){printf("%c", ch[i]);}printf("\n");		fclose(fp);}char ch;cin >> ch;return 0;
}

3.与QtCreator开发工具的关系

因为QtCreator是跨平台的,所以比VisualStudio处理字符集编码要麻烦些。我们在QtCreator里写代码是写到文件里面,就会涉及到文件的编码,如果代码在文件中的编码标准是A,而编译时是按照编码标准B进行解析,则会出错。 Utf-8对应的是宽字符集编码,新代码开发基本都用该编码。QtCreator写代码一般默认的就是该编码方式。Windows平台下使用QtCreator有时候会遇到字符串输入中文乱码的情况,如果网上的现有方案都不起作用的话,可能是文件需要BOM前缀来明确告诉Qt编译器编码方式。也就是要把文件的编码固定为utf-8 BOM编码。

二、Know How

Qt Creator中遇到中文乱码实在解决不掉可以尝试下面的方法。

1.Qt配置

在这里插入图片描述

2.修改代码编码

使用Windows的记事本打开,另存为时选择Utf-8 BOM。

在这里插入图片描述

三、我是这么解决的,方案不唯一

相关内容

热门资讯

白银价格上演“过山车”:创80... 12月29日,白银市场迎来历史性时刻,现货白银、COMEX白银期货均首次突破80美元/盎司关口,再创...
刚刚,见证历史!首破37000... 【导读】公募基金规模首次突破37万亿元大关,再创历史新高 中国基金报记者 若晖 在资本市场回暖、增量...
我国超市现场制售食品规模突破千... 中国连锁经营协会29日发布的《2025超市现场制售食品发展现状与发展路径研究报告》显示,我国超市现场...
走好共富之路,兴业银行持续擦亮... “十四五”以来,财富AUM从2.52万亿元增至3.95万亿元;财富客户从346万户增至481万户;过...
原创 俄... 一位忠于克里姆林宫的政治分析人士在电视台声称,如果进行公投,大多数俄罗斯人会支持对欧洲和乌克兰发动核...
溢价收购后又剥离子公司,盛龙股... 来源|时代商业研究院 作者|雷小艳 编辑|郑琳 12月26日,洛阳盛龙矿业集团股份有限公司(下称“盛...
2026年“国补”继续!如何调... 2026年备受关注的国家消费品以旧换新(下称“国补”)政策有了新动向。12月27日至28日,财政部部...
第一创业证券被罚1273.58... 蓝鲸新闻12月29日讯,近日,江苏证监局发布行政监管措施决定书,剑指第一创业证券承销保荐有限责任公司...
人体使用药物后,药品在体内吸收... Q7656 药物输送途径主要分哪几类? 药物输送途径总体上可分为三大类别:肠内给药、肠外给药和 局部...
苍原资本:3分钟,直线涨停!刚... 数字钱银利好来了! 据央视新闻报道,从中国人民银行了解到,中国人民银行现已出台《关于进一步加强数字人...
“五矿系”大动作!五矿发展筹划... 【大河财立方消息】央企改革又有新案例。12月29日,五矿发展股份有限公司(证券简称:五矿发展)发布公...
原创 中... 谁能想到,在全球能源舞台上,一艘油轮也能挑起各国的神经? 本以为油轮就是个跑运输的水上“大货车”,...
明年"国补"... 最近一段时间,不少小伙伴都在关心随着今年的结束,“国补”是否还会继续。现在也有了确切的消息出现。 新...
“软着陆”的碧桂园,逾期债仍有... 《星岛》见习记者 黄冬艳 广州报道 尽管已通过债务重组削减了数百亿境内外债务,但碧桂园的还债路依然漫...
GPU四小龙忙上市:“中国英伟... AIX财经(AIXcaijing)原创 特约作者 | 王馨 编辑 | 阿伦 “国产GPU四小龙”齐聚...
天普股份:否认与中昊芯英合作及... 【天普股份回应人工智能业务合作传言,目前无相关计划】12月29日,天普股份(605255.SH)发布...
拼多多加码“电商西进”,广东小... 10年前,当张湘在佛山自家客厅打包第一批200台暖菜板时,她未曾想过,自家的产品将穿越数千公里,抵达...
壹快评丨“募资即理财”现象蔓延... 政策支持科技企业上市的初心,始终是为中国科技突破“卡脖子”技术提供资本支撑,为国家科技自立自强注入源...
“黑天鹅”,突袭! 电力板块遭遇黑色星期一。 周一开盘以后,以火电为代表的电力股持续下行。其中,国电电力跌7.96%,皖...