• 4282阅读
  • 2回复

[提问]QSqlTableModel 乱码问题 [复制链接]

上一主题 下一主题
离线onelook
 

只看楼主 倒序阅读 楼主  发表于: 2013-02-13
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2013-04-01) —
    QSqlTableModel *model = new QSqlTableModel(0, sqdb->db);
    model->setTable("t_item");
    model->setEditStrategy(QSqlTableModel::OnManualSubmit);
    model->select();
    model->setHeaderData(0, Qt::Horizontal, tr("编号"));
    model->setHeaderData(1, Qt::Horizontal, tr("名称"));

    ui->tableView->setModel(model);
    ui->tableView->show();



读取到的数据,只要是中文,就会显示乱码,有什么办法可以转换吗?我的是数据库sqlite的,数据是从sql server 2008 通过csv文件倒过来的。
离线fzx374

只看该作者 1楼 发表于: 2013-02-13
加入
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GB18030"));
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB18030"));
离线onelook

只看该作者 2楼 发表于: 2013-02-13
我在构造函数里面有加

  QTextCodec *codec = QTextCodec::codecForName("UTF-8");
    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
    QTextCodec::setCodecForLocale(codec);

加了以后,只有字段名字可以正常显示,但是内容还是乱码,图片编号和名称就是加了以后才能正常显示的。
快速回复
限100 字节
 
上一个 下一个