当前位置:数据库 > SQLite >>

sqlite中以GBK存的中文,在Linux环境的QT开发中QSqlQuery查询出来是乱码,需要如何转换,具体如何操作,谢

我尝试加入 QTextCodec *codec = QTextCodec::codecForName("GBK"); QTextCodec::setCodecForTr(codec); QTextCodec::setCodecForLocale(codec); QTextCodec::setCodecForCStrings(codec); 以及query.value(0).toString()后加上.toUtf8()依旧是乱码,不过此时乱码能辨识部分正确中文,不知道是什么原因,请各位大大帮帮忙
追问:Linux中不是utf-8么?我只是要读取那个数据库,那个数据库别的程序还在用的,写入的数据编码就是GBK没办法去改,只能我QT这里做处理,悲剧,有什么好的建议么?
答案:最简单的办法就是你的程序脚本也是GBK编码
其他:python code:

def convert(o):
    return o if not isinstance(o, (str,)) \
        else o.decode('gbk').encode('utf-8')

def rowconvert(r):
    return map(convert, r)

上一个:sqlite数据表的字段有没有数量的限制,如果有是多少
下一个:SQLITE3 如何打开.db的数据库文件查看文件内容

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,