Добрый вечер, есть скрипт следующего содержания: PHP: <?php //////////////////////////////////////////////// $user = fopen("user.txt", "r"); $fgets_u = fgets($user); $text = fopen("text.txt", "r"); $fgets_t = fgets($text); //////////////////////////////////////////////// //////////////////////////////////////////////// $url = "http://example.com/includes/ajax/message.php?opt=addpost"; $postdata = "comment_message=". htmlentities(urlencode($fgets_t)) . "+&pid=" . $fgets_u; $referer = "http://example.com/index.php"; $user_cookie_file = fopen("cookie.txt", "w"); chmod("cookie.txt", 0777); $cookie_file = "cookie.txt"; $ip = "192.168.12.12"; //////////////////////////////////////////////// $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_USERAGENT, 'Internet Explorer/6.0 (X11; U; Windows XP SP2; en-US; rv:1.7.2) Gecko/20040804'); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept-Language: ru,en;q=0.7,de-de;q=0.3', 'Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'X-Forwarded-For: ' . $ip)); curl_setopt($ch, CURLOPT_REFERER, $referer); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata); $page = curl_exec($ch); curl_close($ch); echo $page; echo "<meta http-equiv=\"refresh\" content=\2; URL=http://example.ru/add_post.php\" /> "; При передаче post запроса возникла проблема, кирилические символы не передаются, латинские же передаются без ошибок. В чем может быть проблема?
Кодировка файлов windows-1251. Заголовки сервера: HTTP/1.1 302 Found Server: nginx Date: Sun, 27 Mar 2011 20:59:03 GMT Content-Type: text/html; charset=windows-1251 Connection: keep-alive X-Powered-By: PHP/5.1.6 Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Set-Cookie: PHPSESSID=q6k0gbe2dt0klkbeiqre3b95i2; path=/ Location: http://example.com/ Content-Length: 5 small
это очень все хорошо, но тут нет ничего, что говорило бы о кодировке, в которой ты посылаешь свои данные.
вот этого я к сожалению незнаю =( есть ли способ это выяснить? p.s. сайт на который скрипт отсылает post запрос в кодировке windows-1251
попробуй законвертить в utf8 через iconv. Я сомневаюсь что он в какой либо другой кодировке может ждать кроме как виндовой или utf. Ну может еще в кои8, но это уже маразм.