ashiaka
ashiaka

Reputation: 4064

How do I POST form data with UTF-8 encoding by using curl?

I would like to POST (send) some form data to a webserver using cURL on a terminal-prompt.

This is what I got so far:

curl --data-ascii "content=derinhält&date=asdf" http://myserverurl.com/api/v1/somemethod

The problem is that the umlaute ("äöü") are replaced by "?" when I receive the post request on the server.

I think I need to use an UTF-8 encoding for the POST request.

Does anybody know how I can achieve this?

Upvotes: 38

Views: 170850

Answers (1)

Kirill Smirnov
Kirill Smirnov

Reputation: 1532

You CAN use UTF-8 in the POST request, all you need is to specify the charset in your request.

You should use this request:

curl -X POST -H "Content-Type: application/x-www-form-urlencoded; charset=utf-8" --data-ascii "content=derinhält&date=asdf" http://myserverurl.com/api/v1/somemethod

Upvotes: 48

Related Questions