#include <iostream>
#include <opencv2\opencv.hpp>
#include <QtCore/QCoreApplication>
#include "LogHelper.h"
using namespace std;
int main(int argc, char *argv[])
{
cout << "0.中文" << endl; // OK
LOG_INFO("0.中文"); // OK
cv::Mat mat = cv::imread("D:/图片.bmp"); // OK
string s1 = "1.中文"; // 断点查看:OK
cout << s1 << endl; // OK
QString qs1(s1.c_str()); // 断点查看:乱码
QString qs2 = QString::fromStdString(s1); // 乱码
QString qs3 = QString::fromLocal8Bit(s1.c_str()); // OK
QString s2 = "2.中文"; // 断点查看:乱码
cout << s2.toStdString() << endl; // 乱码
cout << string(s2.toLocal8Bit()) << endl; // 乱码
QString s3 = QStringLiteral("3.中文"); // 断点查看:OK
cout << s3.toStdString() << endl; // 乱码
cout << string(s3.toLocal8Bit()) << endl; // OK
return 0;
}
#include <iostream>
#include <opencv2\opencv.hpp>
#include <QtCore/QCoreApplication>
#include "LogHelper.h"
#pragma execution_character_set("utf-8")
using namespace std;
int main(int argc, char *argv[])
{
cout << "0.中文" << endl; // 乱码
LOG_INFO("0.中文"); // 乱码
cv::Mat mat = cv::imread("D:/图片.bmp"); // 打开失败
string s1 = "1.中文"; // 断点查看:乱码
cout << s1 << endl; // 乱码
QString qs1(s1.c_str()); // 断点查看:OK
QString s2 = "2.中文"; // 断点查看:OK
cout << s2.toStdString() << endl; // 乱码
cout << string(s2.toLocal8Bit()) << endl; // OK
QString s3 = QStringLiteral("3.中文"); // 断点查看:乱码
cout << s3.toStdString() << endl; // 乱码
cout << string(s3.toLocal8Bit()) << endl; // 乱码
return 0;
}