编程环境
Windows+QCreator+Qt+MSVC
解决方法
设置编辑器的文件编码
项目->Project Settings->编辑器->文件编码:
1.设置默认编码为:UTF-8
2.设置UTF-8 BOM为:如果编码是UTF-8则添加
每个源文件中增加设置
#if _MSC_VER >= 1600
#pragma execution_character_set("utf-8")
#endif
注意
这种设置方式在某些情况下并不能生效,会报 execution_character_set未知被忽略,可以在.pro文件后面增加如下代码解决: win32 { QMAKE_CXXFLAGS += /source-charset:utf-8 /execution-charset:utf-8 }
增加转码代码
globaldefine.h
#include <QTextCodec>
extern QTextCodec *codec;
#define TU codec->toUnicode
globaldefine.cpp
QTextCodec *codec = QTextCodec::codecForName("utf-8");
有中文的源文件添加UTF-8 BOM
选中源文件,鼠标右键,点击:Add UTF-8 BOM on Save,并保存。