线上有一个列表打不开了,观察接口返回数据发现XML数据中存在报错信息如下:
This page contains the following errors:
error on line 2 at column 3826: Input is not proper UTF-8, indicate encoding !
Bytes: 0x08 0x43 0x68 0x61
Below is a rendering of the page up to the first error.
阅读可以发现大概是编码方面的问题,各方查找之后发现一个方法,
可以将XML源数据复制到编辑器中查看,可以看到不完整的uft编码是个大黑块
我把源数据复制到sublime中查看,再结合报错中提示的第2行第3826列在编辑器中查找,果然发现了一个隐藏的字符 <0x08>
再次查询后发现该字符有可能是在输入法切换大小写的过程中出现,从而影响XML解析
临时处理办法是在数据库中将该数据先设为空字符串,再重新update内容,问题得到解决!
但是这并不是长远的办法,还是要在接收数据的时候做好各种特殊字符的过滤!