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

中文在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个环节必然有一个地方出错,导致分界符错乱,或者数据包混入了别的内容。
    比如说作为字符串长度的某个整数。
    具体你要检查下了

    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料