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.

相关推荐
Chasing__Dreams1 分钟前
Mysql--基础知识点--110--select ... lock in share mode VS select ... for share
数据库·mysql
aXin_ya4 分钟前
Redis 网络模型 内存回收
数据库·redis·缓存
一 乐10 分钟前
咖啡商城|基于springboot + vue咖啡商城系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·咖啡商城系统
画堂秋10 分钟前
网站爬取实例操作
数据库·爬虫
Polar__Star14 分钟前
HTML函数在多GPU系统中如何调用_显卡切换机制说明【汇总】
jvm·数据库·python
环流_21 分钟前
【多线程初识】
linux·运维·服务器
2301_8135995521 分钟前
mysql为什么不要在索引列上做运算_mysql函数索引使用场景
jvm·数据库·python
纤纡.23 分钟前
基于 PyQt5 的桌面应用开发实战:登录、预测、计算器、摄像头多功能系统
开发语言·人工智能·qt·计算机视觉
瀚高PG实验室24 分钟前
因磁盘IO性能低导致程序An I/O error 报错
java·jvm·数据库·瀚高数据库
CAAS_IFR_zp30 分钟前
vConTACT3: 机器学习实现可扩展和系统的病毒层级分类
linux·运维·服务器