当前位置: 代码迷 >> QT开发 >> 读取数据库乱码,编码是“Default ANSI code page”无法解决
  详细解决方案

读取数据库乱码,编码是“Default ANSI code page”无法解决

热度:449   发布时间:2016-04-25 04:53:22.0
读取数据库乱码,编码是“Default ANSI code page”无法解决,高手请进
我一个程序用QT读取SQLite数据库,数据库采用“Default ANSI code page”编码,读取出现乱码,网上大多采用类似如下方法,在代码中添加这几行,结果都不行
C/C++ code
QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312"));QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB2312"));QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GB2312"));


“Default ANSI code page”貌似是比较老的编码,现在找QT的文章,都没有这类解决方法,不知如何解决,求教

------解决方案--------------------
QTextCodec::setCodecForTr(QTextCodec::codeforlocale());
------解决方案--------------------
首要明确的是,数据库里文件信息的编码格式,和本地的编码都是什么,一味都GB2312肯定不行啊
------解决方案--------------------
我记得SQLite默认是用utf编码的吧, 
你数据库的编码要和程序的编码一致,并且是能显示中文的编码
  相关解决方案