Кодировка страницы в JSP - PullRequest
0 голосов
/ 24 мая 2011

У меня два jsp, скажем " first.jsp" и " second.jsp" , которые включены в " first.jsp ". Я хотел отобразить символ торговой марки в jsp, поэтому я использовал

  <%@ page pageEncoding="UTF-8"%>

в " first.jsp ", который работает нормально при первой загрузке страницы. Но когда я вызываю ajax-запрос, результат приходит в " second.jsp ", который включен в " first.jsp ", и этот символ торговой марки времени not отображается правильно. Он отображает некоторый блок вместо символа торговой марки.

Когда я увидел там viewSource, у меня правильно отобразился символ.

Я также пытался использовать content-type , но все равно не повезло.

EDITED

После изменения настройки кодировки редактора на UTF-8 он работает на локальном хосте, но не работает на тестовом сервере.

Любая помощь будет оценена.

Ответы [ 4 ]

0 голосов
/ 13 июня 2011

Как и в вопросе, который я упомянул, в одном JSP ( first.jsp ) я включаю еще один jsp скажем second.jsp в javascript, используя " innerHtml () "и это та точка, где проблема была там.

Я заменил эту часть функцией JQueries " html () ".И это работает для меня.Причина в том, что поскольку innerHtml () не выполняет код сценария, а функция JQueries html () выполняет код сценария.

Таким образом, замена innerHtml () функции Jqueries html () функция добавления еще одного jsp сделала свое дело.

0 голосов
/ 24 мая 2011

Вам не нужно иметь кодировку "UTF-8" для отображения символа авторского права.Простейшим решением вашей проблемы является вставка ascii-кода символа авторского права с использованием escape-последовательности HTML.Для вашего случая это будет &#169;.

Вы можете легко найти список всех кодов символов в Интернете (например, здесь ).

Также вы можете найти код, который выполняет для вас экранирование HTML.Просто передайте строку и верните строку со всеми символами, экранированными правильно.

См. Этот вопрос: Рекомендуемый метод для экранирования HTML в Java


EDIT

См. Эту ссылку для пробный образец

0 голосов
/ 24 мая 2011

Вам нужно поставить

<%@ page pageEncoding="UTF-8" %>

на каждые JSP.Не только главные JSP, но также и включаемые JSP и JSP, которые используются как сервлеты ответа ajax.

0 голосов
/ 24 мая 2011

Вы можете использовать право &trade;, тогда оно должно отображаться независимо от кодировки.

(но я согласен, что было бы лучше, чтобы кодировка работала правильно)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...