我目前正在开发一个页面,它应该通过PHP表单使用cURL远程提交数据到另一个服务器,cURL反过来应该将数据保存在文本文件中。
所有善良和花花公子,但是,表单中的字段需要填入中文输入。每当我测试它时,提交都没有问题,但是远程服务器上生成的文本文件的中文字母应该是不可读的输出。
我在文本文件中本地记录结果以及进行远程cURL提交,本地录制正常。中文字符应该按原样记录,所以我的假设是我必须更改我用于提交的cURL代码中的内容:
$data = $result;
$postdata = "data=".$data;
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
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, 0);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_REFERER, $url);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_HTTPHEADER, array("Content-type: application/x-www-form-urlencoded; charset=UTF-8"));
curl_exec ($ch);
curl_close($ch);
提交的作品适用于英文字符,但不适用于中文。
接收脚本的代码是:
<?php
header("access-control-allow-origin: *");
$data = $_POST['data'];
$fp = fopen("submission.txt", "a");
fputs($fp, $data . "\n\n");
fclose($fp);
?>
我应该更改什么,是否应该在cURL代码或接收脚本中?