1、 Qt 4 乱码问题 解决方案函数
1. 在Qt 中 快捷菜单选项功能中this
Edit(编辑) --> Select Encoding...(选择编码)编码
选择载入(显示)编码和储存编码,要解决中文乱码问题,选择 GB2312和UTF-8经常使用编码方式 就能够 spa
2.在 Qt 快捷菜单选项中依次选择code
Tools --> Options --> Text Editor --> Behavior --> File Encodingsorm
选择默认编码方式 UTF-8 或 GBK(gbk) 字符集blog
3. 在(main.cpp )代码中it
#include <QTextCodec> QTextCodec *codec = QTextCodec::codecForName("utf8"); //GBK gbk QTextCodec::setCodecForTr(codec); QTextCodec::setCodecForLocale(codec); QTextCodec::setCodecForCStrings(codec);
2、Qt 5 乱码问题 解决方案:io
因为 Qt 5 中移除了 <QTextCodec> 中一些函数 因此就不能像Qt 4 版本样解决form
可是在QString 类中
1. 有个静态字符转码函数 QString::fromLocal8Bit --> 转码成Unicode 这样就能解决中文乱码问题了
2. QStringLiteral
不过在Qt5中,提供了一个专门的处理宏,来支持中文常量,那就是QStringLiteral,但它只能处理常量。
QMessageBox::information(this, QString::fromLocal8Bit("提示"), QStringLiteral("中文显示"));