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);
}