Windows系统下默认为GBK编码;而Qt中默认编码为utf-8;有时候,GBK编码的汉字解码后再用utf-8编码则可能会报错C2001: 常量中有换行符。解决方法如下:
步骤1.设定UTF-8,添加BOM
工具-->选项-->文本编辑器-->行为-->默认编码:UTF-8;UTF-8 BOM:如果编码是UTF-8则添加
步骤2:重新保存文件
编辑(注意要在报错的.cpp中点击编辑)-->Select Encoding-->选择UTF-8,然后点击“按编码保存”
完成以上两部,再编译运行不会报错了,但中文会出现乱码:需执行第三步
步骤3.代码中使用UTF-8编码
在指定的.h头文件中附上下列代码以使用utf-8字符集。
#if defined(_MSC_VER) && (_MSC_VER >= 1600)
#pragma execution_character_set("utf-8")
#endif