QT中文乱码问题总结
QT环境:MSVC
代码文本需要以UTF8-BOM保存,且文本保存后重新构建才会生效,否则直接运行还是会乱码。
以下两种方法只可取其一,不可混用。
1、使用中文字符常量时,用QStringLiteral修饰中文字符,格式如QStringLiteral(“中文字符”),这种方法必须在每次使用中 文字符时都需要进行修饰,否则还是会出现错误,所以比较麻烦。
2、直接在头文件声明处添加 #pragma execution_character_set(“utf-8”),直接解决此错误。
例:
#if _MSC_VER >= 1600
#pragma execution_character_set("utf-8")
#endif