Qt5解决中文乱码方法

来源:互联网 发布:物流线路规划软件 编辑:程序博客网 时间:2024/06/07 01:15

QT4解决办法

QTextCodec::setCodecForTr(QTextCodec::codecForLocale());

如此等等通过QTextCodec函数设置的方法试过各种都是失败告终
这种方法在QT5中已经失效。

Qt5解决中文乱码方法:

1、通过QString::fromLocal8Bit函数
把中文用 QString::fromLocal8Bit(“你好”); 包起来,而不是仅仅用 QString() ;

2、通过QStringLiteral函数
通过QStringLiteral宏把中文包起来,QStringLiteral(“中国”); 而不是仅仅使用QString() ;

3、通过QString::fromUtf8函数
这个和前面两种是一样的操作,但是我没有试验成功,QString::fromUtf8(“你好”);

4、通过预编译
在类中添加预编译

 #pragma execution_character_set("utf-8")

5、借助外部工具
使用电脑自带的记事本或者Notepad++软件打开含中文的文件,选择保存为utf-8格式,我使用Notepad++保存为utf-8无BOM格式才能正常使用