VS + QT 运行,出现中文乱码的情况, 可以使用下边的几种方式来解决。
1: 声明文件使用的编码格式:
#pragma execution_character_set("utf-8")
2: 在程序弹出的控制台 窗口边框上, 鼠标右键
进去后, 选择使用老版控制台。
如果依旧存在乱码
3:可以尝试使用
QStringLiteral("我是中文")
4:也可以使用
String::fromLocal8Bit("我是中文");
附
QByteArray QString 互相转换防止乱码的方式
QByteArray value = file.readAll(); //假设此文件是utf8格式
QString str = QString::fromUtf8( value ); //转换为了QString
//如果从QString再转换回QByteArray的话, 使用str.toLatin1(); //是会乱码的
//使用一种比较粗鄙的方式
QByteArray by = str.toStdString().c_str(); //先转c++标准string,再转 char*