编程环境
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,并保存。
本文介绍了在Windows环境下使用QCreator和Qt配合MSVC开发时,如何解决中文乱码问题,包括设置编辑器文件编码为UTF-8,添加UTF-8BOM,以及在源文件中使用预处理器指令和全局定义编码函数。
303

被折叠的 条评论
为什么被折叠?



