qt中关于中文乱码的问题

来源:互联网 发布:网络宣传怎么做 编辑:程序博客网 时间:2024/05/22 09:05

简单的做法是,在运行程序开始的时候:

QTextCodec *codec=QTextCodec::codecForName("UTF-8");QTextCodec::setCodecForTr(codec);QTextCodec::setCodecForLocate(QTextCodec::codecForLocale());QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());

我在用qt4和qt5的时候,在中文乱码上面有个不一样的地方:
qt4时:

QTextCodec *codec=QTextCodec::codecForName("GBK");QTextCodec::setCodecForTr(codec);QTextCodec::setCodecForLocale(codec);QTextCodec::setCodecForCString(codec);

qt5时:

QTextCodec *codec=QTextCodec::codecForName("GBK");QTextCodec::setCodecForTr(codec);

在QT5中,有两个被放弃不用了,仅仅留了一个。

另外,对于QT5来说,对付中文乱码有几个方法:
第一种方法:

QString::fromLocal8Bit("你好");

第二种方法:

QStringLiteral("你好");

第三种方法:

QString::fromUtf8("你好");
原创粉丝点击