Carlos Silva
Carlos Silva

Reputation: 83

Curl response not decoding special chars

Im doing a http request to an Api, and my response is always not decoding special chars. Already tried to add utf-8 content type and accept enconding header but its not solving.

curl --location --request POST 'https://example.com/clients.json?api_key=12345678'  --header 'Content-Type: application/json;' --header 'Cookie: _makeover_app_ix_com_session=BAh7BzoPc2Vzc2lvbl9pZCIlZTQ5YWQyYTE0YjMyZTI0OTgwNmI5NjgxZmRkYzkxZTciCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhhc2h7BjoKZXJyb3IiRXXvbWUgbsOjbyBlc3TDoSBkaXNwb27DrXZlbC48YnIvPkNvbnRyaWJ1aW50ZSBuw6NvIMOpIHbDoWxpZG88YnIvPgY6CkB1c2VkewY7B1Q%3D--9cd818580f4d9c76ac84be57dfcc33436eda021e' --data-raw '{
  "client": {
    "name": "Customer name"
  }
}'

Response Example:

{"error":"Nome n\u00e3o est\u00e1 dispon\u00edvel."}

Upvotes: 2

Views: 1749

Answers (1)

Evert
Evert

Reputation: 99543

Those characters are UTF-8 characters, but they are also encoded using JSON / Javascript unicode escape sequences.

CURL is not going to alter the HTTP response for you, but a JSON parser will know what to do with it. If you want to do something with this on the command-line, you might like the jq command.

curl --location --request POST 'https://example.com/clients.json?api_key=12345678'  --header 'Content-Type: application/json;' --header 'Cookie: _makeover_app_ix_com_session=BAh7BzoPc2Vzc2lvbl9pZCIlZTQ5YWQyYTE0YjMyZTI0OTgwNmI5NjgxZmRkYzkxZTciCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhhc2h7BjoKZXJyb3IiRXXvbWUgbsOjbyBlc3TDoSBkaXNwb27DrXZlbC48YnIvPkNvbnRyaWJ1aW50ZSBuw6NvIMOpIHbDoWxpZG88YnIvPgY6CkB1c2VkewY7B1Q%3D--9cd818580f4d9c76ac84be57dfcc33436eda021e' --data-raw '{
  "client": {
    "name": "Customer name"
  }
}' | jq .


Upvotes: 4

Related Questions