0

POSTからデータを受信して​​いますが、curlを使用してこのデータを転送したいと思います。

問題は、私のコードがÅÄÖのような特殊文字を投稿しないことです。それらは$postdataに含まれていますが、受信サーバーを見ると、特殊文字が欠落しています。

cUrlのデータを準備するためのより良い方法はありますか?構築済みの機能のようなものですか?ÅÄÖ:sを含めるにはどうすればよいですか?

コードは次のとおりです。

foreach ($_POST as $var => $value) {

    if ($var != "ignore") {
    $postdata=$postdata . urlencode(str_replace("_", "." , $var)) . "=" . $value . "&";
    }
}
//remove the extra comma
$postdata=substr($postdata,0,-1);

//Submit the form fields
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL,$googleformURL);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt ($ch, CURLOPT_POST, 1);
$data = curl_exec ($ch);
curl_close($ch);
4

0 に答える 0