Qt 乱码

 个人认识:

      乱码的原因:

                 在编写代码时--》文件的格式---》编译器对文件进行编译的时候看到的只是二进制(乱码就出现在这里)

                          应合适方法 通知编译器(为什么说通知编译器呢?因为个人觉得这样好理解)使用的 字符串编码。这样在显示的时候就不会乱码了。

    在QT5中,编写的代码格式若用utf-8保存,中文显示不会乱码。

                  但若用GBK或GB2312时候会乱码。。因此需通知编译器我的编码格式。

                  众所周知,汉字,占两个字节,8位。。

                 因此在使用汉字时加上:QString::fromLocal8Bit("我是中文");

    另一种解决方法个人比较推荐的,就是用tr(“english” )  通过汉化来显示为中文:

               这里简单的说一下汉化过程:

                          所有需要汉化的字符串用tr(" ");包裹(用词不当但好理解)

                          若使用Qt creator 则在.pro文件假如一下代码:

                                       TRANSLATOR=XXX.ts  (若就一个  可省略)

                                                             XXX2.ts

                                      几种语言版本就加几个.ts 一般加一个中文版的就好

                          然后对项目进行编译;

                          使用lupdate xxx.pro   生成xxx.ts文件

                          用linguist打开.ts文件,设置英文对应的汉语,保存 并 lrelease 发布 生成.qm文件

                           

                          如何使用.qm文件呢?

                                               把qm文件加入到项目资源(非必须,可用绝对路径,但放到资源里比较好用呀)

                           使用QTranslator 对象进行load();加载

                           在用QApplication 对象进行installTranslator(translator); 安装

                         很形象的过程:翻译,发布,加载,安装

                             

原文地址:https://www.cnblogs.com/infoo/p/6652914.html