Ergo
Новичок
Принимающий скрипт не видит русские буквы из форм переданные методом POST
Имеем простейший скрипт
test2.php
Если в форму вводим английский текст все передается без проблем. Если русский - то русские буквы не принимаются скриптом.
Передаем через форму слово "Тест"
Вот запрос к серверу и его ответ:
POST /test2.php HTTP/1.1
Host: site.ru
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en-us,ru;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://site.ru/test2.php
Content-Type: application/x-www-form-urlencoded
Content-Length: 29
test=%D2%E5%F1%F2&send=Submit
и ответ
HTTP/1.x 200 OK
Date: Sat, 31 Dec 2005 14:56:31 GMT
Server: Apache
X-Powered-By: PHP/4.4.1
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=windows-1251
Как видно слово Тест передается, но вот
ничего не выводит.
В результате перестали работать с русским языком даже такие скрипты как phpBB и phpMyAdmin. В остальном с кодировкой все нормально.
Я так подозреваю что-то неправильно намудрено с кодировками в настройках Apache или PHP. Больше вроде бы негде... Но где именно? Суппорт хостера пока источника проблемы не нашел. Хостинг американский
Имеем простейший скрипт
test2.php
PHP:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<form method=POST action="test2.php">
<input type="text" name="test" value=""><input type="submit" name="send" value="Submit">
</form>
<?
if(!empty($_POST['send'])) {
echo "Script received value: <b>" . $_POST['test'] . "</b>";
}
?>
</body>
</html>
Передаем через форму слово "Тест"
Вот запрос к серверу и его ответ:
POST /test2.php HTTP/1.1
Host: site.ru
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en-us,ru;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://site.ru/test2.php
Content-Type: application/x-www-form-urlencoded
Content-Length: 29
test=%D2%E5%F1%F2&send=Submit
и ответ
HTTP/1.x 200 OK
Date: Sat, 31 Dec 2005 14:56:31 GMT
Server: Apache
X-Powered-By: PHP/4.4.1
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=windows-1251
Как видно слово Тест передается, но вот
PHP:
echo $_POST['test'];
В результате перестали работать с русским языком даже такие скрипты как phpBB и phpMyAdmin. В остальном с кодировкой все нормально.
Я так подозреваю что-то неправильно намудрено с кодировками в настройках Apache или PHP. Больше вроде бы негде... Но где именно? Суппорт хостера пока источника проблемы не нашел. Хостинг американский
