Σω. 2022-09-27 22:06 采纳率: 81.3%
浏览 73
已结题

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

  • 写回答

2条回答 默认 最新

  • CSDN专家-Time 2022-09-27 22:17
    关注

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

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月2日
  • 创建了问题 9月27日