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.

相关推荐
Yeats_Liao2 分钟前
BLE Mesh能承载AI推理吗?分布式边缘AI节点部署实战
服务器·人工智能·分布式·架构·边缘计算
林夕073 分钟前
Qt集成AI推理引擎:TensorFlow Lite与ONNX Runtime实战
人工智能·qt·neo4j
半途鹅飞、5 分钟前
Qt Creator 界面(菜单栏 / 工具栏 / 运行栏)消失解决方法
开发语言·qt
@insist1238 小时前
信息安全工程师-数据库安全全体系解析与最佳实践
数据库·安全·软考·信息安全工程师·软件水平考试
小短腿的代码世界9 小时前
从.qrc到rcc编译器:Qt资源系统的隐秘运作机制与大型项目性能突围
开发语言·qt
_ku_ku_9 小时前
数据库系统原理 · 事务管理与恢复 · 自学总结
数据库·oracle
それども10 小时前
Gradle 构建疑难杂症 Could not find netty-transport-native-epoll-linux-aarch_64.ja
java·服务器·gradle·maven
lifewange11 小时前
Redis 集合(Set)运算完全指南
数据库·chrome·redis
TDengine (老段)11 小时前
TDengine RAFT共识协议 — 选举、日志复制、快照与仲裁
android·大数据·数据库·物联网·架构·时序数据库·tdengine
NightReader11 小时前
CPU 高使用率,怎么降下来
运维·服务器