QT中文乱码解决方法
由于我毕设的界面是用Qt做的,之前没怎么接触过Qt,所以实现过程中遇到不少小问题,头一个就是这个。
现如今宝宝将其记录下来,供同样有需要的同学或者自己以后方便查阅。
1、所有文件编码格式须一致
不统一的话,很可能出现部分中文显示正常,部分是乱码的情况。这个我是让男票用editplus统一修改了编码格式。文件只要是自己生成的,一般都是一样的,但是也不排除某个cpp文件借鉴他人导致格式不统一。至于如何用editplus修改文件的编码格式,网上资料也不少,大家百度一下即可。
2、添加代码和头文件
我添加在了main函数中
#include <QTextCodec> //头文件
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GB2312"));
或者
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK")); QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GBK")); QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK")); QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
据大神说上面那一句话要比下面那四句代码稍微靠谱点,我试了两种方法都可实现。