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.

相关推荐
Web极客码8 小时前
如何通过命令行工具检查 Linux 版本信息
linux·运维·服务器
远程软件小帮手8 小时前
云电脑挂机功能上线!边上班摸鱼边游戏多开教程
运维·服务器
偶像你挑的噻9 小时前
3.Qt-基础布局以及事件
开发语言·数据库·qt
Dxy12393102169 小时前
MySQL如何做读写分离架构
数据库·mysql·架构
kkkkkkkkl2410 小时前
Prometheus指标入门详解
linux·服务器
意疏10 小时前
不用云服务器也能跨设备转写!CapsWriter+cpolar 实现离线语音协作自由
运维·服务器
毕设十刻10 小时前
基于Vue的考勤管理系统8n7j8(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js
小李独爱秋10 小时前
计算机网络经典问题透视:TCP的“误判”——非拥塞因素导致的分组丢失
服务器·网络·tcp/ip·计算机网络·智能路由器·php
ctgu9010 小时前
PyQt5(九):如何在Qtdesigner中设置图片
qt·pyqt
合方圆~小文10 小时前
不同画面,三个镜头实时监控拍摄方案
数据结构·数据库·人工智能