zoukankan      html  css  js  c++  java
  • 谈谈 Qt4 中文乱码的解决

            本文只描述Qt4的解决方法,Qt5没有尝试过,不做讨论。网上关于这个话题一搜一大堆,基本无外乎字符集编码的理论,看不明白。直接上代码吧!

            

    #include "widget.h"
    #include <QApplication>
    #include <QTextCodec>
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
    
        QTextCodec::setCodecForLocale(QTextCodec::codecForName(QTextCodec::codecForLocale()->name()));
        QTextCodec::setCodecForTr(QTextCodec::codecForName(QTextCodec::codecForLocale()->name()));
        QTextCodec::setCodecForCStrings(QTextCodec::codecForName(QTextCodec::codecForLocale()->name()));
    
        Widget w;
        w.show();
    
        return a.exec();
    }

            一般我的项目里在 main.cpp 文件里都会加上这三句代码,中文显示都能正常显示。

            QTextCodec : 这个类提供文本编码之间的转换。

            QTextCodec::codecForLocale()->name() : 这个成员函数返回最适合此语言环境的编解码器的指针。

            QTextCodec::codecForName() :  这个成员函数返回与参数指定的名称最匹配的编解码器指针。如果没有匹配的则返回 0 。

             QTextCodec::setCodecForLocale / QTextCodec::setCodecForTr / QTextCodec::setCodecForCStrings :  这个成员函数设置参数指定的编解码器。

  • 相关阅读:
    五:DockerFile制作Docker镜像
    六:Docker生产案例
    集群基础知识及haproxy负载均衡
    nfs服务部署记录
    haproxy 1.8.X版本编译安装教程
    Centos7.4安装kvm虚拟机
    什么是Docker
    Python—操作redis
    Python—redis
    机器学习之梯度下降法
  • 原文地址:https://www.cnblogs.com/RecreateBySelf/p/13500275.html
Copyright © 2011-2022 走看看