2012-09-19 1173 views
14

我想在終端提示符下使用cURL將一些表單數據發送到一個網絡服務器()。如何使用curl以UTF-8編碼POST表單數據?

這是我走到這一步:

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

的問題是umlaute(「AOU」)改爲「?」當我收到服務器上的發佈請求時。

我想我需要爲POST請求使用UTF-8編碼。

有人知道我能做到嗎?

+0

可能DUP的:http://stackoverflow.com/questions/10172327/linux-curl-save-as-utf-8 – alfasin

+0

我不你是這麼認爲的。您的評論是關於GET請求和UTF-8解碼。我的問題是關於POST請求和UTF-8編碼。 – ashiaka

+0

向我們展示您在服務器上收到的內容的bin2hex($ content)值。 – deceze

回答

21

您可以在POST請求中使用UTF-8,您只需在請求中指定charset即可。

,所以我想你應該使用這個請求:

curl -X POST -H "Content-Type: text/html; charset=UTF-8" --data-ascii "content=derinhält&date=asdf" http://myserverurl.com/api/v1/somemethod 
+5

上面答案中給出的內容類型是錯了。正確的是'-H「Content-Type:application/x-www-form-urlencoded; charset = utf-8」'。 –

+0

@KonradWindszus感謝***正確答案***! – candlejack

+0

完全救了我! – Dmitri

相關問題