VS + QT中文乱码

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*

 

 

你可能感兴趣的:(QT常用代码)