好久没写博客了,罪过罪过,近期开始更新,包括以前写的笔记也会整理整理
最近在看c++Qt GUI,在做练习的时候发现第三章的spreadsheet例子中文显示乱码,在网上搜了搜也没搜到。。。。就暂时放着,今天无意看到了一篇博客刚刚好写这个,就总结下吧
貌似linux下默认情况Qt的字符编码是GB18030-0, 是00年国家颁布的汉字编码,不过我执行的结果依然是乱码,有人说是c++的中文的支持并不是很好。
那就想到了更改字符编码。
Qt自己有一套更改字符编码的函数,那么我们直接调用就好了。
头文件
#include <QTextCodec>
QTextCodec *codec = QTextCodec::codecForName("编码类型");
//设置tr("")的字符编码
QTextCodec::setCodecForTr(codec);
//设置字符串的字符编码
QTextCodec::setCodecForCStrings(codec);
还有许多可设置的可以参考Qt assistant
包括编码类型,有20多种,可设置的函数也有十几种。
目前我常用的就是上面的两种,加到main函数窗体显示代码的前面,如果加到后面不会有效果,你肯定要先设置显示内容的格式把 - -.