我正在使用jMeter通过发送请求到我的测试服务器来拍摄json。
以下请求始终失败:
{ “地点”: { “纬度”:“37.390737”, “经度”:“ - 121.973864” }, “category”:“Café& Bakeries” }
响应数据中的错误消息是: 无效的UTF-8中间字节0x20 在[来源:org.apache.catalina.connector.CoyoteInputStream@6073ddf0; line:6,column:20]
请求根本不会发送到服务器。 其他请求(例如将类别中的值替换为“Delis”等其他有效类别)可以很好地工作。
我猜这是与“Café”相关的编码问题,但我不知道如何解决它。 任何的想法? 谢谢!
答案 0 :(得分:1)
在HTTP请求本身中,可以设置"内容编码"。我在那里设置" utf-8"它解决了问题
答案 1 :(得分:0)
您可能需要一个HTTP标头来发布该JSON:
Content-Type: application/json; charset=utf-8
如果没有这个,字符串很可能不是UTF-8编码的。 JSON应该是UTF-8,因此é
的十六进制字节应为0xc3 0xa9
。
没有该标头,字节序列可能是0xe9
,它采用ISO-8859-1编码。这可以解释错误,因为开始0xe_
的UTF-8序列是3-byte sequences,因此它看到0xe9 0x20
(其中0x20
是é
之后的空格并抱怨“无效的中间字节”。
答案 2 :(得分:0)