linux下QT程序输出乱码解决方法

参考文章:http://blog.csdn.net/jiang1013nan/article/details/6667871

     http://my.oschina.net/zjlaobusi/blog/138983

 

问题:为了方便Qt程序的开发,我采用的是在windows下编写好程序,然后在linux中编译再下载到开发板中运行的方式,程序的调试信息通过串口输出到windows下的secureCRT。其中windows中的Qt版本为5.3,linux及开发板中的Qt版本为4.8.5。由于linux系统中默认的字符编码为UTF-8,windows下的默认编码不是UTF-8(ANSI?),在windows下编写的程序在运行时显示屏和串口的调试信息中的汉字显示有可能乱码。

解决办法:

1.显示屏端:插入代码

1 QTextCodec::setCodecForTr(QTextCodec::codecForName("system"));(QT5中已取消)
2 QTextCodec::setCodecForCStrings(QTextCodec::codecForName("system"));(QT5中已取消)
3 QTextCodec::setCodecForLocale(QTextCodec::codecForName("system"));

2.secureCRT串口端:设置编码为UTF-8即可。

posted @   selenite140  阅读(2527)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示