Qt解决中文显示乱码问题

Posted 林夕07

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt解决中文显示乱码问题相关的知识,希望对你有一定的参考价值。

我相信所有用过Qt都遇到过中文乱码问题。下面列出了我经常用的几种解决方法。

方法一

#include "QtUtf8.h"
#include <QTextCodec> // 添加头文件

QtUtf8::QtUtf8(QWidget *parent)
: QMainWindow(parent)

    ui.setupUi(this);
    QTextCodec* codec = QTextCodec::codecForName("GBK");//添加编码格式
    ui.label->setText(codec->toUnicode("林夕爱吃面皮肉夹馍"));//使用方式


方法二

该方法有点复杂,懒人请跳过。
Step1:使用Notepad++打开对于的文件将编码格式转成UTF-8-BOM编码。

Step2:使用QStringLiteral(“中文字符”)

#include "QtUtf8.h"
#include <QString> // 添加头文件

QtUtf8::QtUtf8(QWidget *parent)
: QMainWindow(parent)

    ui.setupUi(this); 
	ui.label->setText(QStringLiteral("林夕爱吃面皮肉夹馍"));//使用方式

方法三

我最喜欢的方法没有之一。最爱。太方便了。万物皆可u8

#include "QtUtf8.h"

QtUtf8::QtUtf8(QWidget *parent)
: QMainWindow(parent)

    ui.setupUi(this); 
	ui.label->setText(u8"林夕爱吃面皮肉夹馍");//使用方式

效果图

要是有更好的方法,可以评论区留言哦

以上是关于Qt解决中文显示乱码问题的主要内容,如果未能解决你的问题,请参考以下文章

QT命令行编译时中文显示乱码怎么解决,满意追加

Qt 中文乱码解决方案

记录一个解决Arm Linux端U盘挂载时文件名显示乱码Qt显示乱码的问题

qt中文注释乱码显示不全

记录一个解决Arm Linux端U盘挂载时文件名显示乱码Qt显示乱码的问题

Qt显示中文乱码