Qt中tableView控件中文数据显示乱码的问题及解决方法

                                     Qt中tableView控件中文数据显示乱码的问题及解决方法_第1张图片

       如图所示,本人在tableView控件中显示查询得到的数据,可是显示的时候发现,中文文字全是乱码。但是别的窗口的tableView控件中显示正常,一开始我个人也以为是编码的问题,但尝试了之后发现没能解决问题。仔细排查了自己写的代码,发现原因在于创建了重复的sqldatabase连接。

connect.h中:

QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("localhost");
    db.setDatabaseName("test");
    db.setUserName("root");
    db.setPassword("root");

insertdata.cpp中:

    QSqlDatabase db_insert = QSqlDatabase::addDatabase("QMYSQL");
    db_insert.setHostName("localhost");
    db_insert.setDatabaseName("test");
    db_insert.setUserName("root");
    db_insert.setPassword("root");

       而且两个数据库连接实例中并没有关闭数据库连接的代码,同一个程序中两个数据库连接实例会产生冲突,个人以为是这个原因导致了tableView控件中中文显示乱码,在删除掉insertdata.cpp的数据库连接实例后,tableView控件显示正常。

                                             Qt中tableView控件中文数据显示乱码的问题及解决方法_第2张图片

你可能感兴趣的:(Qt)