选用QT是为了跨平台,在linux下默认是utf8无BOM头,但是这种文件在windows上有问题。
mingw版本还好,能编译。
但是msvc版本会按照local字符集处理,遇到中文就会出错。
经过查阅资料,MS在vs2015以后增加了一个编译选项 utf-8,告知编译器使用utf-8字符集。
在Pro文件中增加以下内容:
win32{
QMAKE_CXXFLAGS += /utf-8
}
将此参数传递给编译器。
选用QT是为了跨平台,在linux下默认是utf8无BOM头,但是这种文件在windows上有问题。
mingw版本还好,能编译。
但是msvc版本会按照local字符集处理,遇到中文就会出错。
经过查阅资料,MS在vs2015以后增加了一个编译选项 utf-8,告知编译器使用utf-8字符集。
在Pro文件中增加以下内容:
win32{
QMAKE_CXXFLAGS += /utf-8
}
将此参数传递给编译器。