C++工作笔记-在项目中解决编码问题小技巧

这里是在项目中看到某大佬是这样用的,在此记录下以后也这样做,方便日后调试。

在linux上,文件有2个类型的编码,一个是UTF-8,一个是ASCII。

在使用QtCreator创建项目的时候默认是UTF-8编码,使用VS产品的时候,文件一般是保存为ASCII码。

这样的话就存在一个问题,项目中文件各个编码不同,解决的方法就是用txt打卡然后另存为编码。即可。

 

还有给方法可以不用改变编码,中文也能正常输出,下面模拟下这种情况。

项目结构如下

文件如下。

Test.pro

QT += core
TARGET = test
TEMPLATE = app

SOURCES += main.cpp

main.cpp

#include <QCoreApplication>
#include <QDebug>

#define _STR QString::fromUtf8

int main(int argc, char *argv[]){

        QCoreApplication a(argc, argv);

        qDebug() << _STR("看看中文输出是不是有乱码");

        return a.exec();

}

这里就是通过#define _STR QString::fromUtf8

使用_STR去代替输出,当出现问题的时候,可能解决方法很多,设置编码集,或者改变文件编码,或者改变输出。

这种也是一种方式,在此记录下!

上面这代码运行截图如下:

当代码是这样的时候:

#include <QCoreApplication>
#include <QDebug>

#define _STR QString::fromLocal8Bit

int main(int argc, char *argv[]){

        QCoreApplication a(argc, argv);

        qDebug() << _STR("看看中文输出是不是有乱码");

        return a.exec();

}

运行截图如下:

 

展开阅读全文
©️2020 CSDN 皮肤主题: 数字20 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值