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