简述
- 测试环境为VS2010 + QT5.5.1,win7
- 以下方式适用于QT5.0以上版本中文乱码,需要将文件保存UTF-8格式
- 若已是UTF-8格式还是乱码,可尝试安装vs2010 sp1解决
流程
1.在乱码cpp文件中添加以下代码:
#pragma execution_character_set("utf-8")
2.鼠标右击乱码cpp文件,选择“在Explorer中显示”,跳转至文件位置。
3.打开该cpp文件,选择另存为,编码格式选择为utf-8格式,保存退出。
4.此时QT提示文件已被改写,是否重载,选择“Yes to All”。
5.重新编译项目,乱码问题解决。
ps:若执行以上操作问题还未解决,可尝试安装vs2010 sp1解决。
其它补充:
QString str("请输入两个数");
std::cout << str.toLocal8Bit().constData() << std::endl;
//fromLocal8Bit() 与 toLocal8Bit()
// QT默认的编码是unicode,不能显示中文,windows默认使用(GBK/GB2312/GB18030)
//toLocal8Bit将字符转换为适合windows的本地字符集
//fromLocal8Bit是将本地字符集转换为QT的unicode