请帮助解决我的JSP国际化问题

时间:2009-04-10 17:38:12

标签: java forms jsp internationalization

我在JSP中遇到I18N问题,特别是表单。

当我将一些捷克字符(例如“ěščřžýá...”)输入到我的页面一个表单中,进入“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 个答案:

答案 0 :(得分:4)

您使用的是哪个容器?这些信息对于这类问题很重要。

无论如何,请尝试拨打

request.setCharacterEncoding("UTF-8");

在读取参数之前。有时在header指令中设置页面编码是不够的。你肯定需要在Tomcat和servlet中这样做,我认为这也可能是JSP的情况。