Character Encoding in POST JSON Request

2022-09-03 00:17:54

I am sending a POST JSON Request to my application.

POST /CharSetTest/Test HTTP/1.1
Host: localhost:8090
Content-Type: application/json
Cache-Control: no-cache
Postman-Token: 1637b92b-5896-4765-63c5-d04ad73ea9f1

{
  "SampleRequest": {
    "FullName": "関連当"
  }
}

My CXF JAXRS Consumer is defined as below.

@POST
@Produces("application/json; charset=UTF-8")
@Consumes("application/json; charset=UTF-8")
public Response testCharSet(@Encoded String jsonBody);

But the Japanese Character (関連当) that I sent as POST request is not encoded and results in some junk characters "é¢é£å½äºè"

Using SoapUI results in "?????" characters.

This Junk characters differs from client to client from where I hit the request. How Could I encode my POST Request ?


答案 1

Set the content-type to:

"application/json;charset=UTF-8" 

when sending the post request in the application you are using. You can find "content-type" in the Header of the URL in that application.


答案 2

None of the answers here worked for me.

My content-type was already set to "application/json;charset=UTF-8", but the setting in my header was causing the error:accept-encoding

Disable the setting under Headers:accept-encoding

enter image description here

When I deactivated the last line above, everything worked great! Hope that helps someone.