异常现象:
转换后报下面莫名其妙的、离谱的错误:
异常原因:
MSVC要求UTF-8编码的文件必须包含BOM(字节顺序标记),而MinGW无此限制。若源码保存为无BOM的UTF-8格式(Qt Creator默认如此),MSVC会将其误判为本地编码(如GBK),导致中文字符乱码或语法错误。
解决方案:
将源码转换为带BOM的UTF-8格式(使用Notepad++或VS Code转换),或在.pro文件中强制指定编码:
win32-msvc {
QMAKE_CXXFLAGS += /utf-8
}
参考文章: