首页 > 代码库 > Qt5中文乱码解决方法

Qt5中文乱码解决方法

        在qt5中,中文乱码的解决是一个比较蛋疼的问题,因为qt5中取消了qt4中的一些设置编码的成员函数,我个人是没弄明白为什么会这样。而且更蛋疼的是,中文乱码并不是任何时候都会出现。有时候部分中文能正常显示,例如“用户名”,用户两个字可以正确显示,但是名字却是乱码。。。

       今天在编写程序的时候,发现在设置QPushButton的文本时用中文可以正确显示,但是在设置QLabel的文本时就会出现乱码,当时就慌了吧。。。在网上各种百度之后,找到两种有效地方法:

       方法一:setText(QStringLiteral("中文")); 在设置文本时,用QStringLiteral函数转换之后就可以正确显示中文,

         亲测有效

   方法二:QTextCodec *codec = QTextCodec::codecForName("GB18030");

       setWindowTitle(codec->toUnicode("中文"));这种方法比较麻烦,至少我感觉比上面的方法麻烦。

关于网上的其他各种方法,试过一些没有用,例如将文件编码设置为utf-8.。。。