ivaneeo's blog

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

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
          qt4內(nèi)置有sqlite插件,可以直接使用sqlite.但是發(fā)現(xiàn)插入中文時(shí)會有亂碼問題。
          以windows為例,qt4內(nèi)置編碼為system(GBK).而sqlite內(nèi)部編碼為unicode.
          如果插入中文首先要轉(zhuǎn)換為unicode.而從數(shù)據(jù)庫讀取時(shí)則不需要,因?yàn)閝t會自動偵測編碼,
          實(shí)例代碼:
              //插入記錄
              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 閱讀(2314) 評論(2)  編輯  收藏 所屬分類: qt-革命

          Feedback

          # re: qsqlite4中文亂碼解決[未登錄] 2010-03-26 22:01 董超
          這個在我電腦上怎么還是亂碼,寫進(jìn)去
          email:scudc@tom.com  回復(fù)  更多評論
            

          # re: qsqlite4中文亂碼解決 2011-11-05 10:35 游客
          太感謝樓主,我也碰到這個問題,用樓主的方法解決了  回復(fù)  更多評論
            


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 天镇县| 四川省| 三门县| 行唐县| 和田市| 民乐县| 洪江市| 延津县| 原平市| 濮阳县| 永川市| 滁州市| 武宁县| 扬州市| 开江县| 福贡县| 上饶市| 平阳县| 休宁县| 侯马市| 中宁县| 惠水县| 武平县| 邯郸县| 晋宁县| 泰来县| 云林县| 左贡县| 宝丰县| 焉耆| 玉林市| 当阳市| 望江县| 桦南县| 武宣县| 乌苏市| 霍邱县| 来凤县| 双牌县| 高要市| 丰都县|