1.在读取txt文件时,txt中中文无法正常显示问题
1.将txt文件存储为ANSI编码格式
2.在qt中使用如下代码
QFile cfgfile(cfg_fileName);//cfg_fileName是文件路径
if (cfgfile.open(QIODevice::ReadOnly| QIODevice::Text))//打开文件
{
while(!cfgfile.atEnd())
{
QTextCodec *codec=QTextCodec::codecForName("GB2312");
QString strAll=codec->toUnicode(cfgfile.readLine());//逐行读取
if(strAll.contains(a,Qt::CaseSensitive))//关键词匹配
{
ui->timeline->setText(strAll);//在控件中显示
break;
}
}
}
2.中文QString显示在对话框中
QTextCodec *codec=QTextCodec::codecForName("UTF-8");
QString s = codec->toUnicode("错误");
如果中文太长,则会显示换行常量中有换行符,只要进入项目,编辑器,文件编码,将默认编码改为utf8,utf8bom改为如果编码是utf8则添加,之后在中文前加string::fromlocal8bit(你好啊)就可以正常显示了