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 :  这个成员函数设置参数指定的编解码器。

  • 相关阅读:
    《A First Course in Probability》-chaper5-连续型随机变量-随机变量函数的期望
    Codeforces 837F
    Codeforces #428 Div2 D
    poj3233(等比矩阵求和)
    Codeforces #427 Div2 D
    Codeforces 837E
    hdu6086(AC 自动机)
    hdu2825(AC 自动机)
    poj2778(AC 自动机)
    Codeforces #426 Div2 D(线段树优化 DP )
  • 原文地址:https://www.cnblogs.com/RecreateBySelf/p/13500275.html
Copyright © 2011-2022 走看看