您的位置:首页 > 编程语言 > Qt开发

qt中关于中文乱码的问题

2017-08-29 17:54 337 查看
简单的做法是,在运行程序开始的时候:

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("你好");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  qt