Qt Debug模式下应用程序输出界面乱码【已解决】

Qt Debug模式下应用程序输出乱码

  • 一、问题描述
  • 二、解决方法
  • 三、相关测试

一、问题描述

源码为utf-8编码.

  • Qt Creator在Debug模式下运行程序,下方应用程序输出界面显示乱码. 但正常运行无乱码:
    在这里插入图片描述

二、解决方法

尝试修改文件编码、执行编码无果…

可参考 Qt Debug模式中文乱码:https://blog.csdn.net/waooi/article/details/134577285
语言->管理语言设置->更改系统区域设置->beta版UTF-8

我使用以上方法无效,应用程序输出依旧为乱码。但是设置为run in terminal可以正常输出中文…
具体步骤如下所示 (Win10系统):

    1. 打开控制面板,查看方式选择类别,然后点击更改如期、时间或数字格式
      在这里插入图片描述
    1. 在弹出的界面中左上角选择管理,然后点击更改系统区域设置
      在这里插入图片描述
    1. 勾选如下图所示,点击确定即可 (需重新启动才能生效):
      在这里插入图片描述
    1. 重启后应用程序输出界面依旧乱码(此窗口可能不是用的windows环境),故直接调用windows小黑框(确定windos环境是utf-8.. 这样准没错了…)
      在这里插入图片描述

三、相关测试

牵扯到了三种编码,utf-8GBKiso88591… 怀疑是windows下debug时候gdb的问题…

    1. 直接运行与Debug运行结果对比
      在这里插入图片描述
    1. 修改上述解决方案,run in terminal勾选与否的对比
      在这里插入图片描述
      在这里插入图片描述
    1. 测试代码
#include <QCoreApplication>
#include <QDebug>
#include <QString>
#include <QTextCodec>QString iso88591ToGbk(const QString &iso88591String) {// 获取 ISO-8859-1 和 GBK 的编解码器QTextCodec *codecIso88591 = QTextCodec::codecForName("ISO-8859-1");QTextCodec *codecGbk = QTextCodec::codecForName("GBK");if (!codecIso88591 || !codecGbk) {// 编解码器未找到,处理错误return QString();}// 将 ISO-8859-1 字符串解码为 UnicodeQByteArray unicodeBytes = codecIso88591->fromUnicode(iso88591String);// 将 Unicode 编码为 GBKQString gbkString = codecGbk->toUnicode(unicodeBytes);return gbkString;
}int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);QString cs = "中文";qDebug()<<QString::fromUtf8("中文");qDebug()<<iso88591ToGbk("ÖÐÎÄ");qDebug()<<cs;//return a.exec();
}
    1. 参考链接

Qt开发中文显示乱码(源码、执行、运行环境):https://blog.csdn.net/QtCompany/article/details/130565849
Qt报错 converting to execution character set:illegal byte sequence:https://blog.csdn.net/WHEgqing/article/details/129792285
编码格式检测(中文乱码问题):https://blog.csdn.net/qq935667108/article/details/124823074
将中文通过ISO-8859-1方式编码传输:https://www.cnblogs.com/blanset/p/16910177.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/2202.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第24篇 python基础

Python的基础语法相当简洁明了&#xff0c;以下是一些关键点及其简单案例分析&#xff1a;### 1. **标识符** - 标识符是用来给变量、函数、类等命名的名称&#xff0c;必须以字母&#xff08;包括Unicode字符&#xff09;、下划线 _ 或者非数字字符开头&#xff0c;后面可以跟…

主打国产算力 广州市通用人工智能公共算力中心项目签约

4月9日&#xff0c;第十届广州国际投资年会期间&#xff0c;企商在线&#xff08;北京&#xff09;数据技术股份有限公司与广州市增城区政府就“广州市通用人工智能公共算力中心”项目进行签约。 该项目由广州市增城区人民政府发起&#xff0c;企商在线承建。项目拟建成中国最…

JS-37-jQuery06-ajax

用JavaScript写AJAX前面已经介绍过了&#xff0c;主要问题就是不同浏览器需要写不同代码&#xff0c;并且状态和错误处理写起来很麻烦。 用JavaScript写AJAX 用jQuery的相关对象来处理AJAX&#xff0c;不但不需要考虑浏览器问题&#xff0c;代码也能大大简化。 一、ajax()函数…

RK3568 android11 修改关机弹窗界面

需要修改关机弹窗界面&#xff0c;当前界面我已经按照客户需求去掉emergency 但是客户需要按其他区域可以实现返回&#xff0c;也就是点击黑色背景取消dialog 嗑代码发现黑色布局为&#xff1a; <node index"0" text"" resource-id"com.android.…

逆向修改app就可以游戏充值到账?

hello ,大家好, 现在市场仍然流行着非常多的传奇类游戏私服或者其他类型的游戏私服,随着私服越来越多(很多并不合法),越来越多的人加入了破解,逆向修改,或者代充的队伍并从中获利。这里我给大家分享一下这些做代充的常规的做法,以及大家作为游戏服务器如何避坑做强校验…

c#开发vs2022安装地址

C#学习visual Studio 2022安装与配置详细过程_vs2022怎么配置c#环境-CSDN博客

CSS基础:最详细 padding的 4 种用法解析

你好&#xff0c;我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。 云桃桃&#xff0c;大专生&#xff0c;一枚程序媛&#xff0c;感谢关注。回复 “前端基础题”&#xff0c;可免费获得前端基础 100 题汇总&#xff0c;回复 “前端工具”&#xff0c;可获取 We…

Java8 中map中删除元素的简单方法

通过values删除 map.values().removeIf(value -> !value.contains("1"));通过keySet删除 map.keySet().removeIf(key -> key ! 1);通过entrySet删除 map.entrySet().removeIf(entry -> entry.getKey() ! 1);

编写一款2D CAD/CAM软件(十四)绘制工具栏

前面的文章已经封装了数个最基本的图元&#xff0c;但是视图的呈现是基于测试数据形成的。为了尽快完善软件交互的框架和能力&#xff0c;本文将增加工具栏。 资源文件 1.首先&#xff0c;创建按钮图标。使用绘图软件构建出工具栏按钮的图标&#xff0c;绘图软件多种多样&…

Vue之v-on事件修饰符的含义及使用

背景&#xff1a;Vue 拆封了一个组件&#xff0c;在组件里面会使用一个方法来改变父组件传过来的值&#xff0c; 但是在子组件里面操作父组件的数据变更&#xff0c;实在比较麻烦&#xff08;因为单向数据流&#xff09;&#xff0c; So 能不能直接在组件上面绑定事件方法呢&…

Nest 快速上手 —— (一)nest介绍与启动安装

参考资料&#xff1a;https://docs.nestjs.com/ 0.介绍 Nest (NestJS)是一个用于构建高效、可扩展的Node.js服务器端应用程序的框架。它使用渐进式JavaScript&#xff0c;构建并完全支持TypeScript(但仍然允许开发人员使用纯JavaScript编写代码)&#xff0c;并结合了OOP(面向对…

HCIP【路由过滤、路由引入实验】

目录 实验要求&#xff1a; 实验拓扑图&#xff1a; 实验思路&#xff1a; 实验步骤&#xff1a; 一、配IP地址 二、在相应的设备上配置RIP协议和OSPF协议 三、路由引入 四、路由过滤 五、配置静默接口 实验要求&#xff1a; 1、按照图示配置 IP 地址&#xff0c;R1&a…

网络靶场实战-Qiling Fuzz实例分析

背景 在上一小节中&#xff0c;介绍了qiling框架的背景和基础使用&#xff0c;并以相关的CTF和qilinglab实例进行练习加深对qiling框架的使用&#xff0c;后续并简单介绍了qiling fuzz的功能。 在这一小节&#xff0c;我们将对qiling fuzz iot设备进行测试以及以实例的方式对…

FineReport报表问题- SET LOGSIZE FAILED 解决

1.问题描述 Oops!!!非常抱歉&#xff0c;您当前无法访问此页。 发生的问题是&#xff1a;CREATE EMB-DB: SET LOGSIZE FAILED! 详细信息 java.lang.RuntimeException: CREATE EMB-DB: SET LOGSIZE FAILED!<br> at com.fr.data.core.db.DBUtils.getEmbeddedDB(Unknown So…

C++ 面向对象-封装

C 是一种多范式编程语言&#xff0c;它支持面向对象编程&#xff08;OOP&#xff09;范式。面向对象编程是一种程序设计思想&#xff0c;其中程序由对象组成&#xff0c;每个对象都是一个实例&#xff0c;具有数据和相关操作。在C中&#xff0c;实现面向对象编程主要通过类和对…

蓝桥杯2022年第十三届决赛真题-卡牌

贪心&#xff1a;循环m次&#xff0c;首先每次取卡片数最少的种类&#xff0c;判断它是否有补充机会&#xff0c;如果没有补充机会&#xff0c;根据短板效应&#xff0c;它的数量就是套牌数&#xff0c;结束。如果可以补充&#xff0c;就将它的数目增加1&#xff0c;m的数量减少…

ubuntu22.04搭建dns内网

近期&#xff0c;需要在无网络的ubuntu环境下搭建内部可用的dns内网&#xff0c;总共花费3个工作日晚上&#xff0c;总算成功搭建&#xff0c;做个记录&#xff0c;记录踩坑记录&#xff0c;同时方便以后翻阅。 安装软件包&#xff1a; 有网络环境下&#xff0c;比较简单&…

一个java项目中,如何使用sse协议,构造一个chatgpt的流式对话接口

前言 如何注册chatGPT&#xff0c;怎么和它交互&#xff0c;本文就不讲了&#xff1b;因为网上教程一大堆&#xff0c;而且你要使用的话&#xff0c;通常会再包一个算法服务&#xff0c;用来做一些数据训练和过滤处理之类的&#xff0c;业务服务基本不会直接与原生chatGPT交互。…

[Android]Jetpack Compose自定义主题

1.ColorScheme ColorScheme 是 Jetpack Compose 中的一个类&#xff0c;用于定义一组颜色&#xff0c;这些颜色共同构成了应用程序的颜色主题。在 Material Design 系统中&#xff0c;颜色方案帮助确保应用程序具有一致的视觉外观&#xff0c;同时也支持色彩的可访问性和美观性…

Lambda 禁止直接从公网访问

为了禁止 Lambda 直接从公网访问&#xff0c;您可以执行以下步骤&#xff1a; 更新 Lambda 函数的策略&#xff1a; 登录 AWS 控制台&#xff0c;导航至 Lambda 服务。找到需要修改的 Lambda 函数&#xff0c;并进入其配置页面。在函数配置页面&#xff0c;找到与 Lambda 函数…