QT 中文乱码解决汇总(QString与string、char*互转乱码)

 更新时间:2023年07月17日 10:45:34   作者:高祥xiang  
在QT中使用中文时,经常会碰到论码问题,本文主要介绍了QT 中文乱码解决汇总(QString与string、char*互转乱码),需要的朋友们下面随着小编来一起学习学习吧

简述

在QT中使用中文时,经常会碰到论码问题,特别是在MSVC环境中。这里介绍的是QT5版本的,至于QT4版本的,目前已经很少用到,所以不做介绍,网上也可以找到的。下面我来总结几种解决QT中文乱码问题方法。

一、string或char* 转 QString 中文乱码解决

1、QTextCodec类

首先需要包含加上 QTextCodec 的头文件。

#include <qtextcodec.h> 

然后加上转换方法。

QTextCodec *codec = QTextCodec::codecForName(“GBK”);
win.setWindowTitle(codec->toUnicode(“中文窗口名称”)); 

2、fromLocal8Bit() 方法

此方法是 QString 类下的一个转换字节方法。

win.setWindowTitle(QString::fromLocal8Bit("中文窗口名称"));

3、QStringLiteral() 方法

win.setWindowTitle(QStringLiteral(“中文窗口名称”)); 

二、QString 转 string 中文乱码解决

QString 转std::string 这里有一个比较简单的方式,我封装成接口呈现:

string QStr2Str(const QString qStr)  
{  
    QByteArray data = qStr.toLocal8Bit();  
    return string(data);  
}  

三、QString 转 char* 中文乱码解决

先将QString转换为标准库中的string类型,然后将string转换为char* ;

std::string str = filename.toStdString();
const char* ch = str.c_str();

最后

到此这篇关于QT 中文乱码解决汇总(QString与string、char*互转乱码)的文章就介绍到这了,更多相关QT 中文乱码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Matlab实现好看的配对箱线图的绘制

    Matlab实现好看的配对箱线图的绘制

    配对箱线图,常见于配对样本的数据分析中,它除了能够表现两组的整体差异,还能够清晰地呈现单个样本的前后改变。本文将用Matlab实现配对箱线图的绘制,需要的可以参考一下
    2022-08-08
  • C++中引用(&)的用法与应用实例分析

    C++中引用(&)的用法与应用实例分析

    引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确、灵活地使用引用,可以使程序简洁、高效。故在本篇中我将对引用进行详细讨论,希望对大家更好地理解和使用引用起到抛砖引玉的作用
    2013-09-09
  • C++中两种字符串定义方式和区别介绍

    C++中两种字符串定义方式和区别介绍

    大家好,本篇文章主要讲的是C++中两种字符串定义方式和区别介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • C++实现查壳程序代码实例

    C++实现查壳程序代码实例

    这篇文章主要介绍了C++实现查壳程序代码实例,有比较详细的注释,包含了对原理的说明,有一定的参考借鉴价值,需要的朋友可以参考下
    2014-10-10
  • C语言的递归函数详解

    C语言的递归函数详解

    这篇文章主要为大家介绍了C语言的递归函数,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • C/C++线程退出的四种方法小结

    C/C++线程退出的四种方法小结

    本文主要介绍了C/C++线程退出的四种方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • C语言实现飞机大战程序设计

    C语言实现飞机大战程序设计

    这篇文章主要为大家详细介绍了C语言实现飞机大战,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • 解析内存对齐 Data alignment: Straighten up and fly right的详解

    解析内存对齐 Data alignment: Straighten up and fly right的详解

    对于所有直接操作内存的程序员来说,数据对齐都是很重要的问题.数据对齐对你的程序的表现甚至能否正常运行都会产生影响
    2013-05-05
  • C语言实现斗地主的核心算法

    C语言实现斗地主的核心算法

    本文给大家分享的是使用C语言实现的斗地主游戏的核心算法,主要实现了面向对象设计,洗牌、发牌、判断牌型、比较牌的大小、游戏规则等算法。通过这个斗地主小项目的练习,提高了我的面向对象设计能力,加深了对算法的理解。最近把这些设计和算法分享给大家。
    2015-03-03
  • C++浅析构造函数的特性

    C++浅析构造函数的特性

    构造函数主要作用在于创建对象时为对象的成员属性赋值,构造函数由编译器自动调用,无须手动调用;析构函数主要作用在于对象销毁前系统自动调用,执行一 些清理工作
    2022-07-07

最新评论