当前位置: 首页 > 知识库问答 >
问题:

具有非UTF-8字符的请求正文引发JSON解析错误:无效的UTF-8起始字节0xae,0xfc

危阳
2023-03-14

在解析JSON请求体时获取以下异常,

请求正文有一个特殊字符“®”(非UTF-8),解析时失败。如何在请求正文中处理这个非UTF-8字符?

{
    "fields": [
        {
            "fieldLabel": "data®"
        }
    ]
}

我想保存具有特殊字符的对象。我试着研究,但没有找到一个合适的解决方案。提前谢谢。

org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Invalid UTF-8 start byte 0xae; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Invalid UTF-8 start byte 0xae
 at [Source: (PushbackInputStream); line: 1, column: 907] (through reference chain: java.util.ArrayList[0]->com.model.TableDefinition["field"]->java.util.ArrayList[1]->com.model.FieldDefinition["fieldLabel"])

共有1个答案

汪信鸥
2023-03-14

将“charset=UTF-8”添加到标题中的内容类型解决了这个问题:

headers.set(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON.toString()  + ";charset=UTF-8")
 类似资料:
  • 我正在使用JMeter将JSON作为主体发送一个post请求。 当我使用Postman执行相同的请求时,我得到了成功的响应。 但使用JMeter时,我得到的是“JSON解析错误:无效的UTF-8起始字节0xB0”。 基于被问到的类似问题,它似乎-(连字符)造成了问题,但不是100%确定这一点。 这些是我尝试的头的组合: 内容类型:Application/JSON;Charset=UTF-8 Con

  • 在Java中,我向JSON对象添加一些属性,并将这些值发送到HTTPS URL(REST API)。服务器抛出一些错误,如“无效的utf-8开始字节0xb0”。下面是我的代码:

  • 问题内容: 当(杰克逊,在这种情况下)JSON引擎尝试解析一些未使用UTF-8编码的JSON时,会发生此错误。 如何告诉引擎它应该期望与UTF-8不同的东西,例如UTF-16? 错误日志: 问题答案: JSON数据必须编码为UTF-8,UTF-16或UTF-32。JSON解码器可以通过检查字节流的前四个八位字节来确定编码: 听起来好像服务器正在以某种非法编码(ISO-8859-1,Windows-

  • 我有一个字符串与字符"á"(西班牙语),我有一些问题与API的请求。 这样我得到了400错误的坏请求 用另一种方式编码,用ISO-8859-1和UTF-8,我没有得到坏请求400错误。 这种方式编码UTF8正确吗? 这是编码到UTF-8的最佳方式,特别是带重音或带"ñ"的字符串。 谢谢

  • 我使用jMeter通过post请求向测试服务器发送json。 以下请求总是失败: 响应数据中的错误消息为: 请求根本不发送到服务器。其他请求(例如将类别中的值替换为其他有效类别,如“Delis”)工作完美。 我猜这是一个与“Café”有关的编码问题,但我不知道如何解决它。知道吗?谢谢

  • 问题内容: https://github.com/affinelayer/pix2pix- tensorflow/tree/master/tools 在上述站点上编译“ process.py”时发生错误。 追溯(最近一次通话): 错误原因是什么?Python的版本是3.5.2。 问题答案: Python尝试将字节数组(假定为utf-8编码的字符串)转换为unicode字符串()。当然,此过程是根据