• 4775阅读
  • 4回复

[提问]为什么我用qt链接数据库能写进去utf8的中文编码 但是用QTableView显示中文的时候是乱码呢?? [复制链接]

上一主题 下一主题
离线eadywen
 

只看楼主 倒序阅读 楼主  发表于: 2011-11-16
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2013-04-01) —
我用qt链接mysql数据库 能向mysql能写进去utf8的中文编码, 在数据显示也是正常, 但是我从mysql数据库里读出来用qtableview显示的时候是乱码, 这是怎么回事 !!
求指导!!!!!!!!!!!!!!!!!!1
写代码段 -----
         bool ok;
         QSqlQuery query;
         query.prepare(tr("INSERT INTO  test (id, time, remark) "
                          "VALUES (:id, :time, :remark)").arg(sUsername));
         query.bindValue(":id",  id_line->text().toInt(&ok));
         query.bindValue(":time", time_line->text());
         query.bindValue(":remark", remark_text->toPlainText().toUtf8());
         query.exec();
写进mysql显示的中文正常!


显示代码段----
      QTableView *view;
        view = new QTableView(this);
        view->setGeometry(10, 10, 402, 200);
        model = new QSqlTableModel();
        model->setTable(tr("test"));
        model->select();
        view->setModel(model);
显示在view里的却是乱码!!!!
离线ninsun

只看该作者 1楼 发表于: 2011-11-17
看看数据库里的字段是什么编码的……说不定mysql帮你自动转成GB2312了……
离线昨夜星空
只看该作者 2楼 发表于: 2012-01-05
离线hai20111102
只看该作者 3楼 发表于: 2012-07-13
我也遇到同样的问题,楼主的问题解决了吗
离线XChinux

只看该作者 4楼 发表于: 2012-07-14
主要找你MySQL配置和客户端连接参数方面的问题。最简单的是所有编码都用UTF8 .
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个