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);