解决glog在Qt中输出中文乱码的问题
//初始化参数
FLAGS_logtostderr = FALSE; //TRUE:标准输出,FALSE:文件输出
FLAGS_alsologtostderr = TRUE; //除了日志文件之外是否需要标准输出
FLAGS_colorlogtostderr = TRUE/*FALSE*/; //标准输出带颜色
FLAGS_logbufsecs = 0; //设置可以缓冲日志的最大秒数,0指实时输出
FLAGS_max_log_size = 10; //日志文件大小(单位:MB)
FLAGS_stop_logging_if_full_disk = true; //磁盘满时是否记录到磁盘
google::InitGoogleLogging(argv[0]);
google::SetLogDestination(google::GLOG_INFO,"./log/appname.log");
然后输出
中文字符编码装换如下:
QByteArray ba = QString::fromLatin1("测试中文单数字符串1").toLatin1();
QByteArray ba2 = QString::fromLatin1("测试之中文双数字符串2").toLatin1();
QByteArray ba3;
ba3.append(ba);
ba3.append(ba2);
LOG(INFO) << ba3.data();
LOG(INFO) << "测试中文单数字符串";
结果如下:
中文正确显示。