设置办法
1、将CPP文件编码格式修改为UTF8-bom,可拷贝到windows,然后用notepad++进行格式转换;
2、日志文件函数如下:
#include <QCoreApplication>
#include<QDateTime >
#include <QDir >
#include <QFile >
#include <QTextStream >
void WriteLog(QString str)
{
QDateTime currentTim = QDateTime::currentDateTime();
//创建文件夹
QString fileName = currentTim.toString("yyyyMMdd")+"_DataLog.log";
QString strCurrentPath = QCoreApplication::applicationDirPath()+"/log/newdataconvert/"+fileName;
//防止文件夹不存在,导致写入失败
QDir parentPath(QCoreApplication::applicationDirPath()+"/log/newdataconvert");
if(!parentPath.exists())
{
//创建文件夹
parentPath.mkpath(QCoreApplication::applicationDirPath()+"/log");
parentPath.mkpath(QCoreApplication::applicationDirPath()+"/log/newdataconvert");
}
QFile writefile(strCurrentPath);
writefile.open(QIODevice::WriteOnly | QIODevice::Append);//如果不存在则创建后写入
QTextStream out(&writefile);
out.setCodec(QTextCodec::codecForName("UTF8"));//设置编码格式
out<<str<<"\r\n";
writefile.close();
}
3、调用WriteLog(QString::fromLocal8Bit("我是xx123")),注意文字内容需要用QString::fromLocal8Bit进行转换
日志写入乱码解决完成