今天调试一个数据上传功能,java程序从文本文件中读出内容作为json数组上传,后台进行处理,但是测试的时候报错:
.JsonParseException: Invalid UTF-8 start byte 0xb2
看上去像是文件头部编码的问题,和UTF-格式有关(HTTP请求头中指定了Content-Type 为 application/json; charset=UTF8),结合以前的经验判断,是文本文件格式导致的问题。
先截图记下本次发送的字节。
然后打开“detect.txt”这个文本文件,另存为,选择UTF-8格式,然后重新发送,成功。
再次截图记下本次发送的字节。
然后将前后两个截图进行对比:
1. 初始:
2. 保存为UTF-8编码之后:
对比下来,很明显,文本文件另存为之后,头部多了ef bb bf 这三个字节,这是UTF-8格式的标志。
当然,以文件形式发送才会有这个问题,一般以json格式发送数据的话,建议直接以文本格式发送,就不会有这样的问题。