QT中出现的中文乱码问题

最近在学习使用QT,但是过程中碰到了中文乱码的问题,在此将我找到的解决方法共享一下:

1.界面的中文乱码

      当我们直接使用以下语句往树组件添加节点时,在显示的时候会出现乱码

      QStandardItem *item = new QStandardItem(QString("例子"));

     我们可以在主窗口初始化的时候调用以下语句:

//set codec

    QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());

    QTextCodec::setCodecForTr(QTextCodec::codecForName("utf8"));

 

    我们界面就能正常显示中文了。

2.SQLITE数据库数据取出并显示时出现的乱码

    一开始我往数据库添加中文数据的时候是用了QString::fromUtf8("例子")进行描述的,但是取出来的数据在显示时还是乱码(我已经添加了第一步中的 //set codec 语句块)。后来发现其实也只要使用QString("例子")就可以了,不用担心编码的问题。

你可能感兴趣的:(C++,qt)