Qt:TXT文本读写的字符编码

Response返回我是这样写的,一开始写的toLocal8Bit(),在浏览器地址里面输入127.0.0.1:8080,能正常

显示中文,但web处理的时候却乱码了。然后我将toLocal8Bit()修改为toUtf8(),web就能正常处理了

复制代码
void HttpController::service(HttpRequest &request, HttpResponse &response) {

    QFile aFile("xxxxx.txt");

    if(!aFile.exists())
    {
        response.write("File does not exist",false);
    }

    if(!aFile.open(QIODevice::ReadOnly |QIODevice::Text))
    {
        response.write("Pattern exception",false);
    }

    QTextStream aStream(&aFile);
    QString text;
    text = aStream.readAll();
    //QByteArray byte= text.toLocal8Bit();
    QByteArray byte = text.toUtf8();
    response.write(byte,true);
    aFile.close();

}

toUtf8是输出UTF-8编码的字符集

toLatin1是相当与ASCii码不包含中文的遇到中文默认转换为ascii码0x3f也就是字符'?'

Local8bit是本地操作系统设置的字符集编码,一般为GB2312.

相关推荐
苏瞳儿2 小时前
java对数据库的增删改查
java·数据库·oracle
Greyson15 小时前
Layui表格如何使用第三方插件实现树形展示.txt
jvm·数据库·python
2401_871696526 小时前
mysql行级锁失效的原因排查_检查查询条件与执行计划
jvm·数据库·python
开压路机6 小时前
进程控制
linux·服务器
Elastic 中国社区官方博客6 小时前
Elasticsearch:快速近似 ES|QL - 第一部分
大数据·运维·数据库·elasticsearch·搜索引擎·全文检索
2401_873479406 小时前
如何从零搭建私有化IP查询平台?数据采集、清洗、建库到API发布全流程
服务器·网络·tcp/ip
Dontla6 小时前
高基数(High Cardinality)问题介绍(Prometheus、高基数字段、低基数字段)
前端·数据库·prometheus
a9511416426 小时前
CSS如何实现元素隐藏不占位_使用display-none完全移除
jvm·数据库·python
SelectDB技术团队7 小时前
SelectDB Enterprise 4.0.5:强化安全与治理,构建企业级实时分析与 AI 数据底座
数据库·人工智能·apache doris
一 乐7 小时前
医院挂号|基于springboot + vue医院挂号管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·医院挂号管理系统