Qt Creator 中文乱码问题

我与影子孤独终老i 提交于 2020-01-17 03:24:28

一、 Qt 4 乱码问题 解决方案

1. 在Qt 中 快捷菜单选项功能中

  Edit(编辑)  --> Select Encoding...(选择编码)

  选择载入(显示)编码和储存编码,要解决中文乱码问题,选择 GB2312和UTF-8常用编码方式 就可以 

 

2.在 Qt 快捷菜单选项中依次选择

  Tools --> Options --> Text Editor --> Behavior --> File Encodings

  选择默认编码方式 UTF-8 或 GBK(gbk) 字符集

 

3. 在(main.cpp )代码中

复制代码

#include <QTextCodec>  

 QTextCodec *codec = QTextCodec::codecForName("utf8"); //GBK gbk  
   QTextCodec::setCodecForTr(codec);  
   QTextCodec::setCodecForLocale(codec);  
   QTextCodec::setCodecForCStrings(codec);

复制代码

二、Qt 5 乱码问题 解决方案:

由于 Qt 5 中移除了 <QTextCodec> 中一些函数 所以就不能像Qt 4 版本样解决

但是在QString 类中

1. 有个静态字符转码函数  QString::fromLocal8Bit  --> 转码成Unicode 这样就能解决中文乱码问题了

2. QStringLiteral 

  不过在Qt5中,提供了一个专门的处理宏,来支持中文常量,那就是QStringLiteral,但它只能处理常量。

  QMessageBox::information(this, QString::fromLocal8Bit("提示"), QStringLiteral("中文显示"));

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!