qsqlite4中文乱码解决

qsqlite4中文乱码解决
qt4内置有sqlite插件,可以直接使用sqlite.但是发现插入中文时会有乱码问题。
以windows为例,qt4内置编码为system(GBK).而sqlite内部编码为unicode.
如果插入中文首先要转换为unicode.而从数据库读取时则不需要,因为qt会自动侦测编码,
实例代码:
    //插入记录
    QSqlQuery query;
    QByteArray sql = "insert into person values(1, 'hello', '你好!')";
    QTextCodec *codec = QTextCodec::codecForName("GBK");
    QString string = codec->toUnicode(sql);
    query.exec(string);
    //读入记录
    QSqlQuery query("select * from person");
    while (query.next()) {
       QString string = query.value(2).toString();;
       QMessageBox::information(0, "infa", string, QMessageBox::Ok);
    }


你可能感兴趣的:(qsqlite4中文乱码解决)