QTableView显示中文乱码且数字无法显示如何解决?

因为用的是ODBC,所以得到的数据存放在字符串数组里声明如下:

        char ID[10] = { 0 };
        char Name[32] = { 0 };
        short Age = 0;
        char DorID[8] = { 0 };
        char Gender[4]={0};

绑定字段


        SQLBindCol(hStmt, 2, SQL_C_CHAR, ID, sizeof(ID), 0);
        SQLBindCol(hStmt, 1, SQL_C_CHAR,Name, sizeof(Name), 0);
        SQLBindCol(hStmt, 5, SQL_C_SHORT, &Age, sizeof(Age), 0);
        SQLBindCol(hStmt, 3, SQL_C_CHAR, DorID, sizeof(DorID), 0);
        SQLBindCol(hStmt, 4, SQL_C_CHAR, Gender, sizeof(Gender), 0);

获取数据后,为了用QTableView,添加Item如下:

             baseModel->setItem(column, 0, new QStandardItem(ID));
            baseModel->setItem(column, 1, new QStandardItem(Name));
            baseModel->setItem(column, 2, new QStandardItem(Gender));
            baseModel->setItem(column, 3, new QStandardItem(Age));
            baseModel->setItem(column, 4, new QStandardItem(DorID));

但是中文显示乱码且数字也显示不全:

img

且Debug模式下,这些变量是正常获取的,问题应该出现在Qt控件的使用上,请问是哪里出错了?

img

你是不是应该给你的linux系统添加utf8字符集。