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.

相关推荐
电商API_180079052477 小时前
获取淘宝商品原价、券后价的区别在哪里?难度以及解决办法
数据库·性能优化·数据挖掘·数据分析·网络爬虫
Johnstons7 小时前
网络诊断工具怎么选:从监控告警到抓包定位的完整方法论
服务器·网络·php·es·抓包分析·网络诊断工具选型与排障方法
qq_372906937 小时前
怎么通过宝塔面板对网站数据库进行深度碎片整理_使用Optimize命令优化表空间资源占用
jvm·数据库·python
窥视未来7 小时前
MySQL 性能调优完全指南:从硬件到 SQL,一篇吃透
java·数据库
難釋懷7 小时前
Redis数据结构-Dict
数据结构·数据库·redis
阿丰资源7 小时前
基于SpringBoot+MySQL的校园管理系统设计与实现(源码+文档+数据库,直接运行)
数据库·spring boot·mysql
郝学胜-神的一滴7 小时前
深入epoll反应堆模型:从libevent源码看高性能IO设计精髓
linux·服务器·开发语言·c++·网络协议·unix·信息与通信
弹简特7 小时前
【Redis】01-认识Redis+分布式系统知识背景介绍
数据库·redis·缓存
2401_871492857 小时前
Vue.js计算属性computed依赖追踪与副作用函数effect关联机制
jvm·数据库·python