Qt编码方式(中文显示)

本文详细介绍了在Qt中解决中文乱码问题的方法,包括使用QTextCodec进行GBK到Unicode的转换,以及Qt Creator的编码设置。重点讲解了Qt Creator的界面语言选择、cpp文件的默认编码设置、QString与编码的关系,并提供了各种Qt支持的文本编码示例。
摘要由CSDN通过智能技术生成

最近在Qt上遇到界面显示中文乱码的问题,实现方法如下:

示例:

    QUdpSocket *mUdpRcver;

    QString     rcvData;

    while (mUdpRcver->hasPendingDatagrams())
    {
        QByteArray datagram;
        datagram.resize(mUdpRcver->pendingDatagramSize());
        mUdpRcver->readDatagram(datagram.data(), datagram.size());

        QTextCodec *tc = QTextCodec::codecForName("GBK");
        rcvData = tc->toUnicode(datagram.data());


        qDebug()<<"Rcv data is :"<<rcvData<<endl;
        emit statusChanged();
    }

     将UDP发送的数据通过“GBK”编码方式转化成QString。

    QString info = mBootReadCtrStatus->rcvData.toUtf8();
    mScanCtrStatus->setText(info);

    显示窗口接收到UDP数据后通过UTF-8转化显示出中文。


详细说明Qt编码的方式:

1.Qt Creator -> 工具 -> 选项 -> 环境 - >概要 -> 语言
   Qt Creator本身界面的语言选择,与cpp文件编码无关,与可执行文件显示编码无关
   重新打Qt Creator 此设置才能生效,这个唯一选择<Chinese>

2.Qt Creator -> 工具 -> 选项 -> 文本编辑器 -> 默认文件编码

   决定cpp文件编码,不同平台下此设置要相同。如果不同,cpp文件会有好多乱码,且不能被编辑,但不影响编译。重新打Qt Creator 此设置才能生效,这个推荐选&

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值