string,QString,opencv,log4cplus与中文
#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; }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器