我一个程序用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编码的吧,
你数据库的编码要和程序的编码一致,并且是能显示中文的编码