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();

}

運行截圖如下:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章