Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

PHP не хочет создавать xml документ

16K
17 октября 2006 года
balbes
7 / / 09.04.2006
Проблема такая с помощью AJAX отправляю запрос

param="name="+document.getElementById("name").value

xmlHttp.open("POST", "script.php", true);
xmlHttp.setRequestHeader("Method", "POST " + "script.php" + " HTTP/1.1");
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttp.onreadystatechange = handleRequestStateChange;
xmlHttp.send(param);

Потом с помощью PHP пытаюсь построить xml документ чтобы отправить его обратно

$domm = new DOMDocument('1.0','WINDOWS-1251');
$response = $domm->createElement('response');
$domm->appendChild($response);
$new = $doc->createElement('name');
$response->appendChild($new);
$res = $doc->createTextNode($_POST['name']));
$name->appendChild($res);
$domm->formatOutput = true;
$xmlString = $domm->saveXML();

header('Content-Type: text/plain; charset=WINDOWS-1251 ');
echo $xmlString;

Проблема в том что не могу разобраться в кодировках если значение $_POST['name']
состоит из английских букв то всё работает
а если русские то дерево не строится, получается

<?xml version="1.0" encoding="WINDOWS-1251"?>
<response>
<name>
13
17 октября 2006 года
RussianSpy
3.0K / / 04.07.2006
При отправке со страницы используем функцию encodeURI()
при получении в РНР используем urldecode()
16K
17 октября 2006 года
balbes
7 / / 09.04.2006
Оказывается дерево строится, и если выводит результат просто в броузер то всё нормально,
а если пытаюсь вывести результат через AJAX

response = xmlHttp.responseText;
alert(response);
то русские буквы не проходят
16K
17 октября 2006 года
balbes
7 / / 09.04.2006
Вы не поняли проблему
Со страницы в скрипт всё приходит нормально там обрабатывается тоже нормально, потому что если если не использовать AJAX
а просто отправлять данные с помощью кнопки submit, то ответ в виде новой страницы выводиться правильный с любыми буквами, а при использовании
AJAX технологии
response = xmlHttp.responseText;
alert(response);
русские буквы не проходят JavaScript доходит до русских и стоп
<?xml version="1.0" encoding="WINDOWS-1251"?>
<response>
<name>
13
17 октября 2006 года
RussianSpy
3.0K / / 04.07.2006
1) Используем Unicode дабы не парить бабушку
2) Как решать проблему с кодировками я уже написал
3) если не помогает - значит проблема не в русских буквах и не в кодировке
12
19 октября 2006 года
alekciy
3.0K / / 13.12.2005
Используй для всего UTF-8 кодировку.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог