Ответ Ajax, включая специальные символы - PullRequest
0 голосов
/ 26 апреля 2011

Я пытаюсь получить ответ XML, в котором есть специальные символы.Это не работает в IE, но в Mozilla работает нормально.Пожалуйста, дайте мне знать, как это исправить.

Вот код:

request.setCharacterEncoding("UTF-8");
response.setContentType("text/xml; charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
response.getWriter().write("<xml><valid><![CDATA[2189971_Bright Starts bath time foam ©®!@& toys each]]></valid><productid>123</productid></xml>");

Ответы [ 2 ]

0 голосов
/ 26 апреля 2011

Скорее всего, ваш XML неверен - вы указываете кодировку UTF8 в XML, но при написании кода, вероятно, не выводится UTF8. Посмотрите, что браузер получает с некоторым HTTP-наблюдателем (likle Fiddler), чтобы убедиться, что ответ правильно закодирован в UTF8 (символы, с которыми у вас возникли проблемы, должны быть закодированы, поскольку они находятся выше диапазона ASCII).

Не уверен, какой язык / фреймворк вы используете, но установка кодировки по запросу и запись в ответ выглядит подозрительно.

0 голосов
/ 26 апреля 2011

Попробуйте добавить кодировку в сам XML:

response.getWriter().write("<?xml version=\"1.0\" encoding=\"UTF-8\"?><root><valid><![CDATA[2189971_Bright Starts bath time foam ©®!@& toys each]]></valid><productid>123</productid></root>");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...