dvvid
Новичок
Проблемы с кодировкой при формирование XML
Доброго времени суток прошу помочь в следующем вопросе.
В html ввожу любые символы в поле myName. в промежуток времени 1 сек срабатывает JavaScript
и отправляет данные в php файл следующим образом
// Получить имя введенное пользователем в форму
name = encodeURIComponent(document.getElementById('myName').value);
// Обратиться к сценарию quickstart.php на сервере
xmlHttp.open("GET", "quickstart.php?name=" + name, true);
// определить метод который будет обрабатывать ответы сервера
xmlHttp.onreadystatechange = handleServerResponse;
// Послать асинхронный запрос серверу
xmlHttp.send(null);
структура файла quickstart.php
Если ввожу латиницу то возвращаеться ответ в тех символах которые я вводил в поле myName;
Если кириллица все символы переводяться в utf-8. Например при вводе слова "Привет" передается
строка "%D0%9F%D1%80%D0%B8%D0%B2%D0%B5%D1%82" и xml файл не формируется.
Вопрос как в файле quickstart.php данную строку превратить опять в "Привет"?
Все файлы html, js, php писал и на utf-8 и на cp1251 работает одиннаково(iconv не работает в данном примере)
Доброго времени суток прошу помочь в следующем вопросе.
В html ввожу любые символы в поле myName. в промежуток времени 1 сек срабатывает JavaScript
и отправляет данные в php файл следующим образом
// Получить имя введенное пользователем в форму
name = encodeURIComponent(document.getElementById('myName').value);
// Обратиться к сценарию quickstart.php на сервере
xmlHttp.open("GET", "quickstart.php?name=" + name, true);
// определить метод который будет обрабатывать ответы сервера
xmlHttp.onreadystatechange = handleServerResponse;
// Послать асинхронный запрос серверу
xmlHttp.send(null);
структура файла quickstart.php
PHP:
<?php
// Результат будем отправлять в формате XML
header('Content-Type: text/xml');
// сгенерировать заголовок XML
echo '<?xml version="1.0" encoding="utf-8" standalone="yes"?>';
//создаь элемент <response>
echo '<response>';
$name = $_GET['name'];
$userNames = array("DIMA","Slava","ДИМА");
if (in_array(strtoupper($name), $userNames))
echo 'Здраствуйте '. htmlentities($name);
else if (trim($name) == '')
echo 'Скажи мне как тебя зовут';
else
echo htmlentities($name). ', вы мне не знакомы!';
echo '</response>';
?>
Если кириллица все символы переводяться в utf-8. Например при вводе слова "Привет" передается
строка "%D0%9F%D1%80%D0%B8%D0%B2%D0%B5%D1%82" и xml файл не формируется.
Вопрос как в файле quickstart.php данную строку превратить опять в "Привет"?
Все файлы html, js, php писал и на utf-8 и на cp1251 работает одиннаково(iconv не работает в данном примере)
