ivaneeo's blog

自由的力量,自由的生活。

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
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);
    }


posted on 2007-10-20 23:03 ivaneeo 阅读(2305) 评论(2)  编辑  收藏 所属分类: qt-革命

Feedback

# re: qsqlite4中文乱码解决[未登录] 2010-03-26 22:01 董超
这个在我电脑上怎么还是乱码,写进去
email:scudc@tom.com  回复  更多评论
  

# re: qsqlite4中文乱码解决 2011-11-05 10:35 游客
太感谢楼主,我也碰到这个问题,用楼主的方法解决了  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: