vainquit 2020-06-01 18:19 采纳率: 66.7%
浏览 166
已结题

中文在sql server正常显示,用python3.8读取后也正常显示,但再从python传到android studio后就出现部分乱码

在sql server显示的值如下:

图片说明

然后在python3.8(已在文件开头声明使用utf-8编码)的pymssql读取后,print读取内容也显示正常的中文。然后把结果使用utf-8编码的方式进行json.dump,得到一个json字符串,再将其转化为二进制流传输到android studio客户端。android studio客户端接受到二进制流后,用utf-8编码转化为字符串,却得到如下结果:

图片说明

我就想不通了,我全程都用utf-8编码,这乱码是怎么来的?我怀疑在sql server储存的这中文是GBK编码,由此导致了问题。但不知道整个事情的来龙去脉是怎样的,能否有人给我解惑并告知解决方案?

  • 写回答

3条回答 默认 最新

  • threenewbee 2020-06-01 18:43
    关注

    目测你的字符串的前面多出来的不只是'广'一个字
    这说明你的json序列化,二进制,网络传输这3个环节必然有一个地方出错,导致分界符错乱,或者数据包混入了别的内容。
    比如说作为字符串长度的某个整数。
    具体你要检查下了

    评论

报告相同问题?