Qt中使用qDebug()打印中文有时会报错的解决方法
选择菜单栏的“工具” -> “选项”,在新窗口的“文本编辑器” -> 右侧 “UTF-8 BOM”选择“如果编码是UTF-8则添加”;
之后qDebug打印出的中文不会报错,但是会乱码,这时候要用 QString::fromLocal8Bit 来将本地字符编码转换为 Unicode 形式的 QString。
示例:
//qDebug()<<"创建非模态对话框"; //不会报错但乱码
qDebug()<<QString::fromLocal8Bit("创建非模态对话框"); //可正常显示
原文: https://jingyan.baidu.com/article/67508eb42997949cca1ce49e.html