Пожалуйста, помогите с моей проблемой интернационализации JSP - PullRequest
3 голосов
/ 10 апреля 2009

У меня проблема с I18N в JSP, особенно с формами.

Когда я вписываю несколько чешских символов (например, «ěščřžýá ...») в свою страницу одной формы, в поле «fieldOne», а затем показываю текст из этого поля на второй странице вместо чешских символов видеть это как «ÄÄ». (Обратите внимание, что вторая страница содержит чешские символы с "request.getProperty("fieldOne")")

Вот исходный код:

Страница первая:

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>

<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic" %>

<html>
 <head></head>
 <body>
    <form action="druha.jsp" method="post">
       <input type="textarea" name="fieldOne">
       <input type="submit">
    </form>
 </body>
</html>

Страница вторая:

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic" %>

<html>
 <head></head>
 <body>
    <h1>The text: </h1> <%=request.getProperty("fieldOne")%>
 </body>
</html>

Спасибо за помощь ...

1 Ответ

4 голосов
/ 10 апреля 2009

Какой контейнер вы используете? Эта информация важна для такого рода проблем.

В любом случае, попробуйте позвонить

request.setCharacterEncoding("UTF-8");

перед чтением параметра. Иногда установки кодировки страницы в директиве header недостаточно. Вам определенно нужно сделать это в Tomcat и сервлетах, я полагаю, что это также может быть в случае JSP.

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