Почему, когда я в поле CURLOPT_POSTFIELDS ввожу русские буквы, чтобы отправились данные post, то система меня не понимает? Не выдаёт результат. Если написать по английски, то всё работает. В чём тогда проблема?
curl_setopt($ch, CURLOPT_POSTFIELDS, "value=РУССКИЕ"); - Так не работает
curl_setopt($ch, CURLOPT_POSTFIELDS, "value=RUSSIAN"); - Так работает
1. gbushmakin - 17 Июня, 2012 - 14:56:38 - перейти к сообщению
2. Мелкий - 17 Июня, 2012 - 15:04:55 - перейти к сообщению
Если в CURLOPT_POSTFIELDS передаёте строку, она должна быть уже должным образом url-кодирована.
0) передавайте массив ключ=>значение, тогда curl будет сам кодировать. Обратите внимание, что в этом случае будет использоваться multipart/form-data, вместо application/x-www-form-urlencode d.
1) передавайте массив в http_build_query, результат - курлу.
2) кодируйте значения самостоятельно - urlencode
0) передавайте массив ключ=>значение, тогда curl будет сам кодировать. Обратите внимание, что в этом случае будет использоваться multipart/form-data, вместо application/x-www-form-urlencode d.
1) передавайте массив в http_build_query, результат - курлу.
2) кодируйте значения самостоятельно - urlencode
3. gbushmakin - 17 Июня, 2012 - 15:12:26 - перейти к сообщению
Мелкий, А можно примером? Не совсем понял...
4. Мелкий - 17 Июня, 2012 - 15:43:10 - перейти к сообщению
0) curl_setopt($ch, CURLOPT_POSTFIELDS, array("value"=>"РУССКИЕ"));
1) curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array("value"=>"РУССКИЕ")));
2) curl_setopt($ch, CURLOPT_POSTFIELDS, "value=".urlencode("РУССКИЕ"));
1) curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array("value"=>"РУССКИЕ")));
2) curl_setopt($ch, CURLOPT_POSTFIELDS, "value=".urlencode("РУССКИЕ"));
5. gbushmakin - 17 Июня, 2012 - 15:58:56 - перейти к сообщению