注册 登录
编程论坛 Python论坛

关于sqlite3数据库查询结果乱码

wangjx236007 发布于 2022-04-18 14:14, 1637 次点击
我用sqlite3做了一个查询,查询结果为[(1, b'\xcd\xf5\xbd\xa8\xd0\xa3', b'1976-12-29', b'1999-12-01', b'\xcc\xec\xcb\xae\xb9\xab\xcb\xbe', b'\xb5\xb3\xd6\xa7\xb2\xbf\xca\xe9\xbc\xc7')],这是编码的问题,求大侠帮我一下。谢谢了!!!!
4 回复
#2
厨师王德榜2022-04-18 14:26
是不是你的sqlite3库 没有用utf8编码?
#3
wp2319572022-04-18 14:57
回复 楼主 wangjx236007
>>> s=b'\xcd\xf5\xbd\xa8\xd0\xa3', b'1976-12-29', b'1999-12-01', b'\xcc\xec\xcb\xae\xb9\xab\xcb\xbe', b'\xb5\xb3\xd6\xa7\xb2\xbf\xca\xe9\xbc\xc7'
>>> s[0].decode("gbk")
'王建校'
>>> s[3].decode("gbk")
'天水公司'
>>> s[4].decode("gbk")
'党支部书记'
>>>
#4
wangjx2360072022-04-18 16:44
回复 2楼 厨师王德榜
大侠,我没有设置utf8,但我不知道怎么设置,还请您指点,谢谢了
#5
厨师王德榜2022-04-22 21:08
程序代码:
list1 = [(1, b'\xcd\xf5\xbd\xa8\xd0\xa3', b'1976-12-29', b'1999-12-01',
  b'\xcc\xec\xcb\xae\xb9\xab\xcb\xbe', b'\xb5\xb3\xd6\xa7\xb2\xbf\xca\xe9\xbc\xc7')]

for aa in list1[0]:
   
    if type(aa).__name__ == 'bytes':
        print(aa.decode('gbk'))
    else:
        print(aa)
1