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 
#include 

#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 
#include 

#define _STR QString::fromLocal8Bit

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

        QCoreApplication a(argc, argv);

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

        return a.exec();

}

运行截图如下:

 

你可能感兴趣的:(工作笔记,C/C++,Linux)