Android提示BOM错误排查

今天遇到了一个很奇葩的问题,Android程序一直运行良好,今天再发新版本的时候进行打包发布,但是打包的时候提示了一个错误,看一下截图:

Android提示BOM错误排查_第1张图片

这是什么鬼?ByteOrderMark?百度了一下,BOM是微软了一个编码方式,但是跟我有鸟关系啊,并且程序提示的错误是在一个Bean的实体类中,如下:


难道是后台大神给我传的json字符串有问题?给我的json字符串的编码有问题?前后台联调之后没发现任何问题,编码就是用的UTF-8传递的,那问题在哪里呢?


排查过程:

一、定位导致问题的来源

1、Android端导致

2、Web端导致

3、数据来源导致

二、排查问题

1、Android端解析json正常没有问题,所以排除

2、Web端的编码没有问题,所以也排除

3、数据来源

最有可能出现的就是数据的来源了,数据库的来源来自于那里呢?经过讨论,数据的来源是前端经过Excle表格进行批量导入的,用的是微软的office进行导入的,难道问题是在这里?

三、分析过程

我们让前端用金山的wps重新导入了一遍,结果无异常,那么问题就是在这里了!!!

说明在用微软的excle表格录入的时候,office会把数据的编码格式重新调整或者说是我们自己设置的有问题,这就会导致含有中文的json传递就有问题,所以以后得对批量导入的数据进行特殊处理

四、问题解决

从移动端-后台-前端的排查终于找到了问题的所在,最终还是web端在数据库数据录入的时候做了重新的编码处理才解决了问题,真的很操蛋的,所以毅然决然的把博客发出来,希望有碰到这方面问题的朋友能够看一下。


你可能感兴趣的:(Android,BOM,编码)