目录
系列文章目录
前言
中文乱码是Qt开发中的常态问题
1.main函数入口设置中文编码
int main(){
#include <QTextCodec>
QApplication a(argc, argv);
//设置中文字体
a.setFont(QFont("Microsoft Yahei", 9));
//设置中文编码
#if (QT_VERSION <= QT_VERSION_CHECK(5,0,0))
#if _MSC_VER
QTextCodec *codec = QTextCodec::codecForName("gbk");
#else
QTextCodec *codec = QTextCodec::codecForName("utf-8");
#endif
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForTr(codec);
#else
QTextCodec *codec = QTextCodec::codecForName("utf-8");
QTextCodec::setCodecForLocale(codec);
#endif
}
2.Visual Studio插件
插件ForceUTF8 (with BOM) 所有源文件和头文件都会保存为“UTF-8+BOM”编码
3. 如果使用预编译头
#if defined(_MSC_VER) && (_MSC_VER >= 1600)
# pragma execution_character_set("utf-8")
#endif
4. 开启UTF-8支持
4.1 .pro文件
qmake: CONFIG += utf8_sourceQMAKE_CXXFLAGS += /utf-8
4.2 MSVC
/utf-8
4.3 GCC&Clang
-finput-charser=UTF-8 -fexec-charset=UTF-8
5.总结
此处有资源,也提供Github地址
希望有帮助能点个赞