Why can't I use the setTable method under QSqlTableModel in QT to recognize the Chinese table name of mysql

Viewed 14
    QSqlTableModel *tableModel;
    tableModel = new QSqlTableModel;
//    tableModel->setTable("测试");
    tableModel->setTable("261ab");
    tableModel->setEditStrategy(QSqlTableModel::OnManualSubmit);
    tableModel->select();
    tableModel->database().transaction();


       qDebug()<<db.lastError();
       if(tableModel->submitAll())
       {
           db.commit();
       }
       else
       {
           qDebug()<<tableModel->lastError();
       }

When I select

tableModel->setTable("测试")

qDebug will show

QSqlError("", "Unable to find table 测试", "")

When I select

tableModel->setTable("261ab");

the code is OK.

The QT version is 5.15.2, the Qt creator version is 8.0.1, the mysql version is 5.7.30, and their character sets are all utf8. So where might the problem be?

0 Answers
Related