Qt::中文乱码问题解决

embedded/2024/9/23 4:27:33/
方法一、QTextStream

文件读写时乱码可以用,setAutoDetectUnicode(true) 设置QTextStream可以自动识别Unicode码

bool MainWindow::openTextByStream(const QString &aFileName){// 用QTextStream打开文本文件QFile aFile(aFileName);if (!aFile.exists()) // 文件不存在return false;if (!aFile.open(QIODevice::ReadOnly | QIODevice::Text))return false;QTextStream aStream(&aFile); // 用文本流读取文件aStream.setAutoDetectUnicode(true); // 自动检测Unicodeui->textEditStream->setPlaintext(aStream.readAll());aFile.close(); // 关闭文件return true;
}bool MainWindow::saveTextByStream(const QString &aFileName){// 用QTextStream保存文本文件QFile aFile(aFileName);if(!aFile.open(QIODevice::WriteOnly | QIODevice::Text))return false;QTextStream aStream(&aFile); // 用文本流读取文件aStream.setAutoDetectUnicode(true); // 自动检测UnicodeQString str = ui->textEditStream->toPlaintext();aStream<<str; // 写入文本流aFile.close(); // 关闭文件return true;
}
方法二、在应用程序中做全局的设置使用UTF-8的编码解码器

文件读写乱码或者其他问题乱码都可以使用此方法,做了全局的设置后读写文件就可以不用setAutoDetectUnicode(true)

int main(int argc, char* argv[]){//解决中文乱码问题QTextCodec *codec = QTextCodec::codeForName("UTF-8");QTextCodec::setCodecForLocale(codec);QApplication a(argc, argv);MainWindown w;w.show();return a.exec();
}

对你有用就点个赞👍,以后需要用到就收藏⭐


http://www.ppmy.cn/embedded/32703.html

相关文章

Siemens-NXUG二次开发-创建块(长方体)特征、圆柱特征、圆锥或圆台特征、球体特征、管道特征[Python UF][20240504]

Siemens-NXUG二次开发-创建块&#xff08;长方体&#xff09;特征、圆柱特征、圆锥或圆台特征、球体特征、管道特征[Python UF][20240504] 1.python uf函数1.1 NXOpen.UF.ModlFeatures.CreateBlock11.2 NXOpen.UF.ModlFeatures.CreateCyl11.3 NXOpen.UF.ModlFeatures.CreateCon…

Qt与MySQL连接

QT连接Mysql数据库&#xff08;详细成功版&#xff09;-CSD N博客 我的MySQL是64位的&#xff0c;所以我的Qt的套件也需要是64位的 遇到的问题&#xff1a; &#xff08;available drivers中已经有QMYSQL QMYSQL3&#xff0c;还是not loaded&#xff09; QSqlDatabase: QMYS…

Python ansible 如何使用

Ansible是一个开源的配置管理、应用部署和任务执行系统&#xff0c;它使用SSH进行通信&#xff0c;无需在目标服务器上安装代理。Ansible通过YAML格式的剧本&#xff08;playbooks&#xff09;来描述配置和任务&#xff0c;这些剧本易于理解和编写。 以下是如何在Python项目中…

Kafka的优点和缺点,以及适用场景

Kafka作为一个开源的分布式流处理平台&#xff0c;在大数据和实时处理领域具有广泛的应用。以下是Kafka的优点、缺点以及适用场景&#xff1a; 一、Kafka的优点 高吞吐量和低延迟&#xff1a;Kafka能够处理每秒数百万条消息&#xff0c;具有极低的延迟&#xff0c;使得它非常…

gin-vue-blog 前后端分离项目(已经部署)

gin-vue-blog 前台&#xff1a; 后台&#xff1a; 1.数据库设计&#xff1a;https://blog.csdn.net/m0_73337964/article/details/138137629?spm1001.2014.3001.5501 2.RESTFUL API路由实现&#xff1a;https://blog.csdn.net/m0_73337964/article/details/138321631?spm1…

【UnityRPG游戏制作】Unity_RPG项目_玩法相关

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;就业…

netbeans中add server instance界面为什么让创建一个user

在NetBeans中&#xff0c;“Add Server Instance”&#xff08;添加服务器实例&#xff09;界面要求创建一个用户&#xff0c;是为了配置服务器实例的运行环境和访问权限。 创建一个用户是为了确保服务器实例能够以安全的方式运行&#xff0c;并限制对服务器的访问。通过创建一…

redis保存数据的结构-redisobject结构体

在redis中&#xff0c;所有键值对的保存&#xff0c;都是机遇redisboject的一个结构体&#xff0c;如下 typedef struct redisObject {unsigned type:4; unsigned encoding:4; unsigned lru:LRU_BITS; int refcount; void *ptr; …