2009-04-10 2 views
3

У меня проблема с I18N в JSP, в частности, с формами.Помогите с моей проблемой интернационализации JSP

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

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

Page один:

<%@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 два:

<%@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> 

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

ответ

4

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

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

request.setCharacterEncoding("UTF-8"); 

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

+0

По крайней мере, в tomcat 5 –

+0

Aheum ... it's SetCharacterEncoding фактически –

+0

Вы правы. Я исправил это. – kgiannakakis

Смежные вопросы