Экранирование специальных символов, опубликованных в сервлете - PullRequest
2 голосов
/ 15 января 2009

У меня есть jsp, содержащий форму, которая отправляет сервлету сообщение, когда сервлет получает параметры из формы, перед знаком фунта (£) следует следующий символ Â. Таким образом, £ становится £. Что вызывает это и как я могу обойти это?

Ответы [ 2 ]

2 голосов
/ 15 января 2009

Это очень похоже на проблему кодировки символов. Ответ, содержащий знак решетки, отправляется в наборе символов UTF-8, но интерпретируется в другом наборе символов (вероятно, ISO-8859-1).

Проверьте, какую кодировку символов вы указываете для своего JSP, и если проблема все еще сохраняется, используйте сниффер, чтобы исследовать ответ, который отправляет форма, и, в частности, любой набор символов, который она указывает. По умолчанию форма должна использовать тот же набор символов, что и страница, на которой она обслуживалась, поэтому вы должны иметь возможность контролировать ее, проверяя набор символов страницы.

1 голос
/ 15 сентября 2011

На странице JSP перед извлечением из объекта запроса можно установить тип содержимого для вашего запроса. [Например, request.setCharacterEncoding ( "UTF-8");]

Теперь вы можете сделать request.getParameter ("yourParamName");

Я также столкнулся с той же проблемой и решил, как описано выше.

...