В настоящее время я работаю над страницей, которая должна передавать данные через форму PHP удаленно на другой сервер с использованием 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 или в получающем скрипте?
Задача ещё не решена.
Других решений пока нет …