服务器端确认是编码转换错误。于是截取网络数据包进行分析,发现客户端POST的json数据中包含下面一段:由于系统使用了ormlite、gson和async-http几个库,于是逐一排查。最后发现原来是向服务器发送数据时没有指定文字编码,导致async-http将数据以ISO-8559-1格式发送,U+00b7被编码成b7,然后服务器试图使用UTF-8解码时发生错误。出错的代码片段如下:

android POST数据遇到的UTF-8编码(乱码)问题解决办法